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 :

Déplacement d'un Sprite avec Scrolling [SDL 1.2]


Sujet :

SDL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Déplacement d'un Sprite avec Scrolling
    Bonjour,

    J’ai suivis ce tutoriel sur le « Tile Mapping » avec beaucoup d’intérêt : http://jeux.developpez.com/tutoriels...uction-niveau/

    Mais je suis resté un peu sur ma faim en parcourant le « prog6 », où l’on ballade un carré vert dans un niveau. J’ai donc voulu y intégrer la partie « Spite » étudié dans le « prog7 ».
    (Pour info, dans le « prog6 », on promène un carré vert dans un niveau avec du Scrolling. Dans le « prog7 », on dirige un Sprite, Mario, dans une fenêtre sans Scrolling.)

    Cependant, je n’arrive à l’intégrer correctement (voir « progMoi » en pièce jointe). Mon Sprite évolue correctement avec le carré vert, mais lorsque l’écran se met à « Scroller », mon Sprite accélère et sort de la fenêtre, alors que le carré vert reste au centre.

    En fait, je ne comprends pas pourquoi le carré vert (SDL_RECT) peut avoir une position x = 1000 et rester au milieu de la fenêtre, alors que mon Sprite, avec la même valeur de x, sort de la fenêtre.

    Merci d’éclairer ma lanterne !

    Note : Les projets sont enregistrés avec Visual Studio 2012.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    dommage que tu as fait un doublon , disons que c'est plutot lourd comme demande regarder 3 code source , donc ça demandera que je prend un peu de temps
    Sinon pour répondre rapidement pour le scrolling , il faut que tout les autre membre que le perso (vu que la camera suit le perso) , se déplace avec la map.

    En fait, je ne comprends pas pourquoi le carré vert (SDL_RECT) peut avoir une position x = 1000 et rester au milieu de la fenêtre, alors que mon Sprite, avec la même valeur de x, sort de la fenêtre.
    peut etre que c'est la position x de la map et non de ecran , mlais j'ai pas encore regarde le code source.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 548
    Points
    218 548
    Billets dans le blog
    118
    Par défaut
    Bonjour,

    À première vue, vous parlez d'un x = 1000, qui est une position en espace monde (position dans le niveau), alors que la position sur l'écran n'est pas celle ci.
    Après, je suis assez de l'avis de Kannagi, il faudra nous dire où dans le code se fait le déplacement du personnage.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Effectivement, Kannagi a eu le nez fin, car c'est exactement le problème ! Merci de la piste.

    Je tacherai à l'avenir d'être le plus précis possible dans mes requêtes. Car en relisant, je me rends compte que c'est beaucoup de travail pour quelqu'un d'extérieur au projet.

    Merci encore et bonne journée !

    PS : Petite question en passant : Est-il préférable de déplacer mon Sprite sur la carte ou dans la fenêtre ?

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Hé hé l'expérience mon cher
    Il faut mieux déplacer le sprite sur la carte , après je ne sais pas comment tu le gère mais pour ma part je ferais cela pour les sprite autre que le perso principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    position_final.x = position_sprite.x + position_map.x + vitesse_sprite.x;
    La vitesse est optionnel si c'est un truc statique.

    Pour le perso principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    position_final.x = position_sprite.x +  vitesse_sprite.x;
    Apres tu peux faire un '+ position_map.x' pour tester les collision et les hitbox avec les autres perso/ennemi/autres.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/03/2007, 13h46
  2. Pb déplacement d'image hors d'un Div avec scroll
    Par mdemo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 15h47
  3. [VB.Net] Taille réelle d'un composant avec Scroll
    Par maitrebn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/01/2006, 13h36
  4. Cadre avec scroll
    Par SnickeursMan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/12/2005, 02h06

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