Sprites & SDL

cs_zmc Messages postés 147 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 26 avril 2008 - 6 juin 2004 à 18:49
Rouliann Messages postés 115 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 23 août 2008 - 22 août 2004 à 00:09
Bonjour,

J'ai commencé recemment à utiliser la SDL (qui n'est pas trop mal) et j'ai rencontré un petit problème :

J'ai écrit une fonction qui découpe un sprites dans une image en contenant une dizaine (avec un SDL_Rect) et affiche chaque sprites à la suite afin de créer une animation (un déplacement en l'occurence), cette fonction marche très bien.

Maintenant, il faudrait que tant que la touche SDLK_RIGHT soit appuyée, le sprites se deplace de 1 pixel tout en "jouant" l'animation (pour mimer le déplacement =).

J'éspere que quelqu'un pourra m'aider.

Merci

1 réponse

Rouliann Messages postés 115 Date d'inscription samedi 20 décembre 2003 Statut Membre Dernière intervention 23 août 2008 1
22 août 2004 à 00:09
Je pense qu'il suffit de changer les coordonnées de ton SDL_Rect qui "selectionne" le sprite à chaque fois que le perso avance d'un pixel. Par exemple (je pars du principe que l'animation se fait de gauche a droite et qu'elle débute tout à gauche):

if(SDLK_RIGHT=='apuyée')
{
    positionX++;
    tonRect.x+=30; //si la largeur de ton sprite est de 30px!
}
//...
SDL_BlitSurface(taSurfaceSdl, &tonrect, surfacePrincipale, &rectPositionPerso);


Bien sur tu vérifie si tonRect dépasse la largeur de ton image et tu le replace au début:

if(tonRect.x>image->w)
    tonRect.x=0;


----------------------------------------------
Life is short, program more!
0
Rejoignez-nous