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

ActionScript 3 Discussion :

Détection plancher/pied (jeu de plateforme)


Sujet :

ActionScript 3

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 429
    Par défaut Détection plancher/pied (jeu de plateforme)
    Bonjour,
    en comemnçant, j'explique que je travaille en as2, mais vu que je doute avoir une réponse dans cette partie du forum, je poste ici, en voulant savoir qu'est-ce que vous feriez en as3 pour le même problème.

    Je fais un jeu de plateforme en flash:
    http://www.coco-game.com/humpty-dumpty-neuf.htm

    J'ai un problème avec la détection plancher/perso. J'arrive à 'bricoler' une solution fonctionnel, mais je veux plus, je veux un jeu optimisé. Je vous explique. J'ai un mc 'Perso' qui marche sur une ligne appelé pl1 (plancher1 autrement dit). Si on appuie sur Space, la fonction 'saute = 22' s'applique. Or, en admettant que le perso saute et que ses pieds n'atteignent pas le rebord de la corniche (pl2) vu que c tout le perso qui est pris en compte, même si c la tête qui touche le rebord, il saute et retombe sur la corniche. Or, il ne faut pas que ce soit sont corps, mais seulement c pieds qui soit pris en compte avec le plancher. Pour ça, j'ai fait un deuxième mc, et ça devient _this.va (ou _root.perso.va). Or, Flash ne prends JAMAIS en compte ce mc 'va'. Si je formule comme ça, plus rien ne fonctionne. Or, pour la collision avec les éléments durs (pommes, branches) j'ai perso.ouch. Le mc 'ouch' est pris en compte, comme d'autre mc de détection (selon le cas). Or, pour la marche, rien... c perso ou c rien. Pas de perso.va, ou perso.ouch... rien! Il fonctionne seulement a la racine on dirait... Pourquoi cet entêtement?

    Voici mon code:

    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
     
     onClipEvent(load){
     saut = 0
     _root.stop()
     
    }
     
    onClipEvent(enterFrame){
     
    if(saut < -22){
      saut = -22
     
      }
     
     _y -= saut //pour qu'il retombe s'il n'est pas sur une plateforme
     if(this.va.hitTest(_root.pl1)){
      _y = _root.pl1._y -95
     } //pour qu'il bloque sur le sol
     
     
     if(this.va.hitTest(_root.pl2)){
      _y = _root.pl2._y -95;
     }
     
     
     
    if(this.va.hitTest(_root.pl1))
     
     { //pour qu'il ne puisse sauter que quand il touche le sol
     
     if(Key.isDown(Key.SPACE)){ // en appyant sur ESPACE
       saut = 22 ;//hauteur du saut
       _root.jumpy.gotoAndPlay(2);
      } 
     }
    Et tant qu'a y être, j'aimerais être capable de détecter la collision, et non le toucher. Je m'explique : je voudrais que lorsqu'on saute et retombe, on entende un bruit de pied. Dans le moment, j'ai timer ce bruit et l'ais mit dans un mc (jumpy). Le bruit arrive grosso modo dans le bon moment. C'est du bricolage à souhait. Mais avec hitTest, flash comprend "tant que tu touche au plancher", mais c'est "au moment où je tombe sur le plancher" qu'il me faudrait.

    Merci d'avance!
    Ivady

  2. #2
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    pour les collisions et jeu de plateforme j'utilise un systeme de tiles et non du hitTest. C'est plus sur , permet de coder des choses plus interessantes.

    Pour le son , rajoute un boolean "isJumping" que tu met a true quand il saute et a false quand il retombe , quand tu le passe a false tu balance ton son.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 429
    Par défaut
    ouais, j'ai trouvé un site le fun:
    http://www.tonypa.pri.ee/tbw/flas.html

Discussions similaires

  1. Pouki, un jeu de plateformes
    Par moejul dans le forum Projets
    Réponses: 11
    Dernier message: 17/01/2008, 17h50
  2. Delphi appliqué pour un jeu de plateforme
    Par Tsukaasa dans le forum Delphi
    Réponses: 2
    Dernier message: 30/01/2007, 22h00
  3. réalisation d'un chat-jeu de plateforme 2d
    Par Dr Gang dans le forum Flash
    Réponses: 3
    Dernier message: 13/09/2006, 17h21
  4. Réponses: 4
    Dernier message: 02/08/2006, 19h02
  5. [FLASH MX2004] Correctif jeu de plateforme
    Par sourivore dans le forum Flash
    Réponses: 6
    Dernier message: 18/05/2006, 16h41

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