Simple DirectMedia Layer ermöglicht den Zugriff auf Audio , Tastatur, Maus , Joystick , OpenGL 3-D Hardware-und 2-D- Video- Framebuffer . Gebrauchte mit MPEG -Wiedergabe-Software , Emulatoren und anderen Spielen, ist die SDL -Programm praktisch für eine Vielzahl von Dingen , wie das Animieren einer Seite Scroller -Spiel. SDL arbeitet nativ mit C + +, sondern arbeitet auch in C , Ada , C # , D, Eiffell , Erlang , Euphoria , Go, Guile , Haskell , Java, Lisp, Lua , ML, Objective C , Pascal , Perl , PHP, Pike, Pliant , Python, Ruby , Smalltalk und Tcl . Anleitung
1
Erstellen Sie zwei neue Dateien namens " CAnimation.h " und fügen die folgenden "include" -Direktive in " CApp.h " " CAnimation.cpp /. ": " # include " CAnimation.h ' "
2
öffnen " CAnimation.h " und geben Sie den folgenden Code: .
# ifndef _CANIMATION_H_ # define _CANIMATION_H_ # include < SDL . h > class CAnimation {private : int currentFrame ; int FrameInc ; private: int FrameRate //Millisekunden lang Oldtime ; public: int MaxFrames ; public: CAnimation (); nichtig OnAnimate (); public: void SetFrameRate (int Rate) ; Leere SetCurrentFrame (int Frame) ; int GetCurrentFrame (); }; # endif
3
Öffnen " CAnimation.cpp " und geben Sie den folgenden Code mit Ihren Werten für Bildrate : # include " CAnimation.h " CAnimation :: CAnimation () { currentFrame = 0; MaxFrames = 0; FrameInc = 1; FrameRate = 100; //Millisekunden Oldtime = 0; }
nichtig 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; }}} Leere CAnimation :: SetFrameRate (int bewerten ) { Framerate = Rate ;} nichtig CAnimation :: SetCurrentFrame (int Frame) {if (Frame < 0