Deplacer personnage images par images

Fermé
...AidezmoiSVP... Messages postés 50 Date d'inscription jeudi 26 décembre 2013 Statut Membre Dernière intervention 21 février 2015 - 16 août 2014 à 17:47
[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 - 18 août 2014 à 14:00
Bonjour,
Je voudrais savoir comment pourrait-on donner l'impression que le personnage bouge en appuyant sur HAUT, BAS, GAUCHE, DROITE.

J'ai essayer ce code :

#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>

void jouer(SDL_Surface* ecran)
{
SDL_Surface *mario[4] = {NULL}; // 4 surfaces pour chacune des directions de mario
SDL_Surface *BAS = NULL, *HAUT = NULL, *GAUCHE = NULL, *DROITE = NULL, *carte = NULL, *marioActuel = NULL, *deplacerJoueur = NULL;
SDL_Rect position, positionJoueur;
SDL_Event event;

SDL_Init(SDL_INIT_VIDEO);



// Chargement des sprites (décors, personnage...)

mario[BAS] = IMG_Load("mario_bas.gif");
mario[GAUCHE] = IMG_Load("mario_gauche.gif");
mario[HAUT] = IMG_Load("mario_haut.gif");
mario[DROITE] = IMG_Load("mario_droite.gif");

marioActuel = mario[BAS]; // Mario sera dirigé vers le bas au départ

SDL_EnableKeyRepeat(100, 100);

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = 0;
break;
case SDLK_UP:
marioActuel = mario[HAUT];
deplacerJoueur(carte, &positionJoueur, HAUT);
break;
case SDLK_DOWN:
marioActuel = mario[BAS];
deplacerJoueur(carte, &positionJoueur, BAS);
break;
case SDLK_RIGHT:
marioActuel = mario[DROITE];
deplacerJoueur(carte, &positionJoueur, DROITE);
break;
case SDLK_LEFT:
marioActuel = mario[GAUCHE];
deplacerJoueur(carte, &positionJoueur, GAUCHE);
break;
}
break;
}

Voilà en attendant vos réponses et merci d'avence!

1 réponse

[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 1 083
Modifié par [Dal] le 18/08/2014 à 14:01
Salut,

Ton code (partiel) est visiblement tiré du tutoriel du site du zéro.

La fonction "deplacerJoueur" y est décrite là :

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/18709-tp-mario-sokoban#r-2192371

et tu trouves son code dans le code source accessible là, ainsi que le code du reste de l'application (manquant dans ton copier-coller) :

https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/18709-tp-mario-sokoban#r-2192489


Dal
0