Simple DirectMedia Layer permet d'accéder à l'audio , clavier, souris , joystick, OpenGL 3 -D hardware et 2-D framebuffers vidéo. Utilisé avec le logiciel de lecture MPEG, émulateurs et autres jeux , le programme SDL est très pratique pour une variété de choses , comme l'animation d'un jeu de scroller côté . SDL fonctionne nativement avec C + + , mais fonctionne également en C , Ada, C # , D, Eiffell , Erlang, Euphoria , Go, Guile , Haskell , Java , Lisp , Lua , ML, Objective C, Pascal , Perl, PHP , Pike, Pliant , Python , Ruby, Smalltalk et Tcl . Instructions
1
créer deux nouveaux fichiers appelés " CAnimation.h " et ajouter la directive suivante "include" dans " CApp.h " " CAnimation.cpp /. ": " # include " CAnimation.h »
2
Open " CAnimation.h " et entrez le code suivant : .
# ifndef _CANIMATION_H_ # define _CANIMATION_H_ # include < SDL . h > class CAnimation {private : int currentFrame ; int FrameInc ; privé : FrameRate int; //millisecondes à long oldtime ; publics : int maxframes ; publics : CAnimation () ; vide OnAnimate () ; publics : SetFrameRate void ( int rate); vide SetCurrentFrame (int frame) ; int GetCurrentFrame ();} ; # endif
3
ouverte " CAnimation.cpp " et entrez le code suivant avec vos valeurs de fréquence de trame : # include " CAnimation.h " CAnimation :: CAnimation () { currentFrame = 0; maxframes = 0; FrameInc = 1; FrameRate = 100; //millisecondes oldtime = 0; }
vide 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; }}} vide CAnimation :: SetFrameRate (int Taux ) { framerate = Taux ;} vide CAnimation :: SetCurrentFrame (int Frame) {if ( Cadre < 0