cs_zmc
Messages postés147Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention26 avril 2008
-
6 juin 2004 à 18:49
Rouliann
Messages postés115Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention23 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 =).
Rouliann
Messages postés115Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention23 août 20081 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!