Simple DirectMedia Layer giver adgang til lyd , tastatur, mus, joystick , OpenGL 3-D -hardware og 2-D video framebuffere . Bruges med MPEG software til afspilning , emulatorer og andre spil , SDL -programmet er praktisk til en række forskellige ting , såsom animere en side scroller spil. SDL arbejder indbygget med C + + , men virker også i C, Ada , C # , D, Eiffell , Erlang , Euphoria , Go, Guile , Haskell , Java, Lisp , Lua , ML , Objective C , Pascal , Perl, PHP, Gedde, Pliant , Python, Ruby, Smalltalk og Tcl . Instruktioner
1
Opret to nye filer, der kaldes " CAnimation.h " og tilføj følgende " omfatte" direktivet " CApp.h " " CAnimation.cpp /. ": " # include " CAnimation.h ' "
2
Åbn " CAnimation.h ", og indtaste følgende kode : .
# ifndef _CANIMATION_H_ # define _CANIMATION_H_ # include < SDL . h> class CAnimation { private : int CurrentFrame , int FrameInc , private int framerate //millisekunder lange oldtime , offentlige : int MaxFrames , offentlige : CAnimation (); void OnAnimate () , offentlige : void SetFrameRate ( int Rate) ; void SetCurrentFrame ( int frame ), int GetCurrentFrame (); }; # endif
3
Åbn " CAnimation.cpp ", og indtaste følgende kode med dine værdier for frame rate: # include " CAnimation.h " CAnimation :: CAnimation () { CurrentFrame = 0; MaxFrames = 0; FrameInc = 1, framerate = 100; //millisekunder Oldtime = 0;
} void CAnimation :: OnAnimate () {if ( Oldtime + framerate > SDL_GetTicks () ) {return ;} Oldtime = SDL_GetTicks (); CurrentFrame + = FrameInc , hvis ( FrameInc > 0) {if ( CurrentFrame > = MaxFrames - 1) { FrameInc = - FrameInc ;}} else { if ( CurrentFrame <= 0 ) { FrameInc = - FrameInc ;}} } else {if ( CurrentFrame > = MaxFrames - 1) { CurrentFrame = 0 ;} }} void CAnimation :: SetFrameRate ( int Rate ) { framerate = Rate ;} void CAnimation :: SetCurrentFrame ( int Frame ) { if ( Frame <0