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

 C++ Discussion :

Problème d'affichage de mon Zelda


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Par défaut Problème d'affichage de mon Zelda
    Bonjour/Bonsoir,

    Voila je vous pose le décor, en cours nous avons un mini projet de jeu Zelda pour illustré ce que l'on apprend, pour cela nous utilisons la librairie SDL (sans apprendre en profondeur le SDL).
    Et nous avons vus comment déplacer le Zelda case par case et Pour le fun j'aimerais faire une animation de déplacement.
    Mais mon code exécute effectivement 2images pour l'animation mais pour faire simple mon perso se déplace à gauche reviens d'une demi case vers la droite puis retourne sur la case de gauche (pour une obscure raison qui m'échappe).

    Voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    else if(posPerso.orientation=='G'){
                AfficherImage(CHEMIN_PERSO,120,0,TILE,TILE,(posPerso.x*64+32),posPerso.y*64);       /** Affichage Perso 32px plus a loin **/
                MajEcran();
                AfficherImage(CHEMIN_OVERWORLD,140,4,TILE,TILE,(posPerso.x*64+32),posPerso.y*64);   /** Affichage du sol pour effacer le perso **/
                Sleep(100);
                AfficherImage(CHEMIN_PERSO,120,120,TILE,TILE,posPerso.x*64,posPerso.y*64);
            }
     
            MajEcran(); /** On affiche le tout **/
    Pour votre info la fonction AfficherImage se comporte comme ceci :
    AfficherImage([cheminDeL'image],[pixelXDeDebutDeSprite],[pixelYDeDebutDeSprite],[TailleEnXDeL'image],[TailleEnYDeL'image],[PositionXduPerso],[PositionYduPerso]);
    Les images font 64*64pixels.

    Voilà si vous avez besoin de plus d'infos n'hésitez pas

    Merci de votre aide.

    Stelper

    Ps: Je demande pas un code tout fait juste savoir pourquoi mon perso fait un allé retour non demandé ^^

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Tu as oublié de changer la position du personnage. entre les deux étapes.
    Ton comportement décrit correspond précisément à celui que tu as codé.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Par défaut
    Non car le 2eme AfficherImage permet d'éffacer le zelda se trouvant entre les 2 cases et mettre du sol a la place ou alors je ne vois pas de quel position tu parle (je déplace que le X pas le Y pour le moment)


    OK!!!

    Désolé j'ai post trop tôt :'( :'(
    3jours que je bloque dessus et je viens d'y pensé 5min après le post #Boulet.

    En fait ça viens de mon waitEvent qui détecte d’appuis et le relâchement de la touche comme 2actions et non une seul donc il exécute 2fois le if() :/
    Maintenant il ne reste plus qu'a trouvé comment fixé le tout ^^

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    choisir d'avancer tant que le bouton est enfoncé, et fixer le framerate.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 13
    Par défaut
    Il y a une fonction particulière que je peux aller consulter pour cela? ou c'est dans le waitEvent que je dois chercher?
    Et c'est quoi un Framerate?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 152
    Billets dans le blog
    4
    Par défaut
    Tu devrais vite aller jeter un oeil au forum 2D/3D/Jeux https://jeux.developpez.com/
    Tu y trouveras un grand nombre de tutos, exemples etc sur comment faire ça bien.
    Ton simple code présenté a déjà d'énormes problèmes, sans parler qu'il mériterait un peu d'architecture.
    - la position non mise à jour ? +32, +64 ?
    - sleep en plein milieu : jamais

    http://alexandre-laurent.developpez....boucle-de-jeu/
    http://loka.developpez.com/tutoriel/sdl/
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage dans mon code
    Par naima2005 dans le forum Applets
    Réponses: 3
    Dernier message: 02/12/2007, 11h52
  2. [EasyPHP] Problème d'affichage avec mon code PHP
    Par LegioKilt dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 24/11/2007, 04h13
  3. Problème d'affichage de mon abcisse
    Par Tomstom dans le forum iReport
    Réponses: 0
    Dernier message: 23/08/2007, 16h27
  4. Problème d'affichage dans mon état
    Par gontrand16 dans le forum Access
    Réponses: 6
    Dernier message: 05/07/2006, 20h29
  5. Problème d'affichage avec mon BBCode
    Par magic33 dans le forum Langage
    Réponses: 4
    Dernier message: 01/05/2006, 16h30

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