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

Composants VCL Delphi Discussion :

[DelphiX] Mouvement et déplacement de Sprite


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut [DelphiX] Mouvement et déplacement de Sprite
    Bonjour bonjour ^_^

    J'ai un petit problème au niveau du mouvement d'un sprite.
    J'aimerais que ce sprite se déplace à gauche tant que la flèche gauche du clavier est appuyée et qu'il s'arrete quand la touche est relachée.
    Pour le moment, j'ai un sprites composé de 9 images collées à la suite pour le mouvement vers la gauche, j'ai règler le patternheit et width, c'est bon car je sais lancer l'animation en boucle ou une seule fois.
    Mais je n'arrive pas à créer un deplacement avec le mouvement qui s'arrete quand la touche est relachée ^^

    Merci d'avance,
    Bye

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    donc pour ton problème tu as plusieurs solutions pour le déplacement de ton sprite:
    - Crée un objet descendant de TDXSprite et surcharge DoMove dans laquelle tu mets ton déplacement
    - Lorsque la touche est appuyée, tu modifies les coordonnées directement de ton Sprite

    Maintenant, pour détacter la touche, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      DXInput1.Update;//Mets à jour le DXInput
      if (JeSaisPlusLeNomDeLaVariable in DXInput.States) then
        Sprite.Move;//Ou les changements de coordonnées comme je le dis plus haut...
    Voila
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut
    Merci ! J'ai réussi à faire bouger la chose ^_^
    Mais en fait, j'appelle une fonction qui fait bouger tout les sprites je crois (DXspriteengine1.Move)
    Et en plus, l'animation ne se fait pas ^_^
    Voici le code de DoMove :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure Tkrakra.Domove (movecount : integer);
    begin
    inherited Domove(movecount);
    X := X-1;
    AnimCount:=Image.PatternCount;//nombre d'image dans l'animation
    AnimLooped := true; //animation en boucle
    AnimPos := 0;//image de départ pour l'animation
    AnimSpeed := 1/10; //vitesse d'animation
    end;
    Aurais-je (encore) oublier quelque chose ? ^^

    EDIT avant post : J'ai réussi à l'animer en faisant AnimPos := AnimPos+1 dans le Domove mais le problème c'est que quand je change de sens, j'aimerais changer de sprite ou alors (sprite en plusieurs colonnes) passer d'une colonne a une autre

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Ce n'est pas le SpriteEngine qu'il faut mover mais le DXSprite!
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut
    aaaah, ok, mais je trouve pas DXSprite oO
    (sinon, pour l'animation c'est bon ^^)

    EDIT : J'ai trouvé le DXSprite mais, Move ne fonctionne pas.. Enfin je pense que je me suis gourré quelque part ^^

  6. #6
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Bon ben si c'est pas Move c'est DoMove alors...
    Sinon, si tu as un TDXSpriteEngine, tu devrais avoir des DXSprite...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 4
    Par défaut
    Effectivement, c'etait "DxSpriteEngine1.Engine.Items[1].Move(lagcount);"
    Merci beaucoup

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

Discussions similaires

  1. question sur le déplacement de sprites
    Par dragonno dans le forum Débuter
    Réponses: 9
    Dernier message: 09/11/2010, 14h10
  2. Déplacement de sprites
    Par Moxostoma dans le forum Débuter
    Réponses: 4
    Dernier message: 09/04/2009, 15h11
  3. [C] déplacement des sprites: comment faire?
    Par SimpleMe dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 07/12/2007, 21h33
  4. [ClanLib] Déplacement de sprite
    Par quadra38 dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 14/12/2006, 19h52
  5. Réponses: 2
    Dernier message: 26/07/2006, 00h33

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