IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Affichage déplacement Images


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 64
    Points : 36
    Points
    36
    Par défaut Affichage déplacement Images
    Bonsoir , je vous explique mon soucis, je déplace mon image dans chaque direction . Seulement lorsque je ne déplace plus mon image, l'image initiale réapparaît alors que ce n'est pas ce que je souhaite. Les déplacements s'effectue parfaitement mais l'affichage non :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     void RecupererVecteur(Input* in,int* vx,int* vy,SDL_Rect* perso,SDL_Surface* screen,int xscroll,int yscroll)
    {
    	SDL_Surface *dresseur = NULL, *arene = NULL , *dresseurActuel= NULL;
    	dresseur = SDL_LoadBMP("images/bmp/dresseurhaut.bmp");
    	arene = SDL_LoadBMP("images/bmp/dresseurbas.bmp");
    	SDL_SetColorKey(arene, SDL_SRCCOLORKEY, SDL_MapRGB(arene->format, 255, 255, 255));
    	SDL_SetColorKey(dresseur, SDL_SRCCOLORKEY, SDL_MapRGB(dresseur->format, 255, 255, 255));
    	SDL_Event event;
    	dresseurActuel = arene;
    	SDL_Rect positionsurecran = *perso,positionJoueur;
    	positionsurecran.x -= xscroll;
    	positionsurecran.y -= yscroll;
    	int continuer = 1;
    	int vitesse = 2;
    	*vx = *vy = 0;
     
    SDL_EnableKeyRepeat(100, 100);
     
    	if (in->key[SDLK_UP]){
    		*vy = -vitesse;
    		dresseurActuel=dresseur;
    		SDL_BlitSurface(dresseur, NULL, screen, &positionsurecran);
     
    	}
    	else if (in->key[SDLK_DOWN]){
    		*vy = vitesse;
    		dresseurActuel=arene;
    		SDL_BlitSurface(arene, NULL, screen, &positionsurecran);
     
    	}
    	else if (in->key[SDLK_LEFT]){
    		*vx = -vitesse;
     
    	}
    	else if (in->key[SDLK_RIGHT]){
    		*vx = vitesse;
     
    	}
     
    		SDL_EnableKeyRepeat(0, 0);
    		SDL_BlitSurface(dresseurActuel, NULL, screen, &positionsurecran);
    Merci de votre aide

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Tu initialise dresseurActuel à chaque fois dans ta fonction, du coup lorsque tu n'appuie pas sur les touche c'est le sprite arene qui sera afficher, d'où l'explication de l'image initiale lorsque tu n'appuie pas sur une touche.

    Plusieurs solution:
    Passer dresserActuel en static pour garder sa valeur d'un appel sur l'autre. (déconseillé)
    Prendre dresseurActuel en paramètre pour pouvoir le sauvegarder d'un appel à l'autre. (conseillé)
    Passer dresseurActuel en global pour que sa valeur ne change pas. (déconseillé)
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2015, 20h14
  2. XSL: pb d'affichage d'images
    Par enez dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/09/2004, 14h17
  3. PB affichage d'image avec IE
    Par arturo dans le forum Modules
    Réponses: 6
    Dernier message: 25/09/2003, 17h28
  4. [VB6] Affichage d'image avec qlq contraintes
    Par youri dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo