Enkel DirectMedia Layer ger tillgång till ljud , tangentbord , mus , joystick , OpenGL 3D- hårdvara och 2 - D framebuffers video . Används med MPEG -uppspelning programvara , emulatorer och andra spel , är SDL programmet praktiskt för en mängd olika saker , till exempel animera ett spel sida scroller . SDL fungerar native med C + + , men fungerar även i C , Ada , C # , D , Eiffell , Erlang , Euphoria , Go , Guile , Haskell , Java , Lisp , Lua , ML , Objective C , Pascal , Perl , PHP , Gädda , Pliant , Python , Ruby , Smalltalk och Tcl . Instruktioner
1
Skapa två nya filer som kallas " CAnimation.h " och lägg till följande " inkluderar " direktivet " CApp.h " " CAnimation.cpp /. " : " # include " CAnimation.h ' "
2
Open " CAnimation.h " och mata in följande kod : .
# ifndef _CANIMATION_H_ # define _CANIMATION_H_ # include < SDL . h > class CAnimation { private : int currentFrame , int FrameInc , privat : int framerate , //millisekunder långa oldtime , offentliga : int MaxFrames , offentliga : CAnimation ( ) , void OnAnimate ( ) , offentliga : void SetFrameRate ( int Rate ) ; void SetCurrentFrame ( int Frame ) , int GetCurrentFrame ( ) ;} ; # endif
3
Öppna " CAnimation.cpp " och skriv in följande kod med dina värderingar för bildhastighet : # 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 ; if ( 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 betyg ) { framerate = Pris ; } void CAnimation :: SetCurrentFrame ( int Frame ) {if ( Frame < 0