Simple DirectMedia Layer permite o acesso a áudio , teclado, mouse, joystick , OpenGL hardware 3-D e framebuffers vídeo 2-D . Usado com software de reprodução de MPEG, emuladores e outros jogos , o programa SDL é útil para uma variedade de coisas , como animar um jogo scroller lado. SDL funciona nativamente com C + +, mas também funciona em C , Ada, C # , D, Eiffell , Erlang, Euphoria , Go, Guile , Haskell , Java, Lisp , Lua , ML, Objective C , Pascal, Perl , PHP, Pike , flexível , Python, ruby, Smalltalk e Tcl . Instruções
1
Criar dois novos arquivos chamados " CAnimation.h " e adicione o seguinte "incluir" directiva " CApp.h " " CAnimation.cpp /. ": " # include ' CAnimation.h "
2
Open" CAnimation.h "e insira o seguinte código: .
# ifndef _CANIMATION_H_ # define _CANIMATION_H_ # include < SDL . h> classe CAnimation {private : int currentFrame ; int FrameInc ; private: int FrameRate ; //Milliseconds longo oldtime ; público : int MaxFrames ; público : CAnimation (); OnAnimate void ( ); público : SetFrameRate void ( int Rate) ; SetCurrentFrame void ( int Frame) ; int GetCurrentFrame ();} ; # endif
3
Open " CAnimation.cpp " e insira o seguinte código com os seus valores para a taxa de quadros : # include CAnimation " CAnimation.h " :: CAnimation () { currentFrame = 0; MaxFrames = 0; FrameInc = 1; FrameRate = 100 //Milliseconds oldtime = 0; }
CAnimation vazio :: OnAnimate () {if ( oldtime + FrameRate > SDL_GetTicks ()) { return;} oldtime = SDL_GetTicks (); currentFrame + = FrameInc ; if ( FrameInc > 0) {if ( currentFrame > = MaxFrames - 1) { FrameInc = - FrameInc ;}} else { if ( currentFrame <= 0 ) { FrameInc = - FrameInc ;}} } else {if ( currentFrame > = MaxFrames - 1) { currentFrame = 0; }}} CAnimation vazio :: SetFrameRate (int Taxa ) { FrameRate = Taxa ;} CAnimation vazio :: SetCurrentFrame (Frame int) {if (Frame <0