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

Flash Discussion :

[FLASH MX PRO] Détection des collisions


Sujet :

Flash

  1. #1
    Invité
    Invité(e)
    Par défaut [FLASH MX PRO] Détection des collisions
    Bonjour

    Je sais déjà l'existence de la fonction hitTest, mais dans mon cas elle ne convient pas

    Je m'explique :
    je crée en ce moment un jeu de voitures ; et, afin que le joueur ne puisse sortir de la route, j'ai installé un hitTest qui renvoie true si le gazon alentour est en contact avec ma voiture. Mes paramètres sont les suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.hitTest(_x+x,_y+y,true);
    this étant la voiture, _x et _y ses coordonnées, et x et y les coordonnées de l'avancement de la voiture à la prochaine frame (car si j'omets ces x et y, la voiture reste bloquée malencontreusement dans le gazon ).

    Mais bizarrement, le hitTest ne fonctionne pas très bien : il ne renvoie true qu'après que la voiture est sortie de la route.

    Bref. Ce n'est pas très précis...

    Est-il possible de créer nous-même une fonction qui détecte une collision, plus mathématiquement ?


    Mille mercis

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il n'y a personne ?

    Bon je pose ma question différemment pour ceux qui auraient la flemme de lire 8)

    Est-il possible de créer une fonction semblable à hitTest, mais plus précise, en utilisant par exemple les pixels ?


    Merci

  3. #3
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut
    Sujet extrêmement vaste. Je ne connais pas les nouvelles fonctionnalités de Flash 8, mais de mon temps, on mettait quelques clips sur le contour de sa voiture, et on testait la collision de tous ces clips avec la route. Ca donne de bons résultats, mais ça bouffe grave des ressources.

  4. #4
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut
    http://www.gskinner.com/blog/archives/2005/10/source_code_sha.html

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je n'est pas encore lu ton lien (un peu la flemme de traduire ), mais ton idée de placer des clips autour de la voiture est SUPER géniale ! Même si c'est vrai qu'il faudra beaucoup d'occurences et un clip très très petit...

    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour, j'avais marqué ce sujet comme résolu, mais malgré l'aide précédante déjà apportée, je ne parviens pas à un résultat satisfaisant


    Le plus simple serait que je vous donne le .fla : le voilà.

    J'ai vainement tenté de mettre des clips partout autour, mais les hitTest ne fonctionnent pas, enfin bref, c'était la pagaille. J'ai donc repris l'ancien fichier, dont je vous ai donné la source.

    J'aimerais donc savoir si vous pouviez essayer de m'aider à faire en sorte que la voiture ne sorte jamais de la route (actuellement elle en sort un peu).


    A propos, j'ai aussi regardé le lien que tu m'as donné. Ca a l'air de résoudre tous les problèmes. Mais comment faire pour installer cette classe ? J'ai télécharger les sources qu'il donne en bas de la démo, mais quand j'ouvre les fichiers, Flash me dit "Format de fichier inattendu" s'il s'agit d'un .fla, et "l'ouverture du document a échoué" s'il s'agit d'un fichier ActionScript. Peut-être ces fichiers ne sont-ils compatibles qu'avec Flash 8 (j'ai Flash MX, c'est-à-dire Flash 7...) ?


    Merci beaucoup de m'aider

  7. #7
    Invité
    Invité(e)
    Par défaut
    Mon problème, en fait, c'est que je n'arrive pas à utiliser cette classe décrite sur la page de ton lien :o

  8. #8
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut
    Ah bah oui, ça doit être ça (début de l'article: "A while back I posted a demo of shape-based hit detection in Flash 8..."). Tu peux poster ton bout de code?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Mon bout de code ? Mais je n'en ai pas justement !

    J'ai cliqué sur le lien, puis téléchargé le zip en cliquant sur "Click here to download". J'ai ensuite décompressé les fichiers. Mais quand je veux les ouvrir, Flash refuse inexorablement de coopérer

    Pourtant les fichiers .fla de Flash 8 et ceux de Flash 7 devraient être compatibles, non ? Y a-t-il une solution pour utiliser tout de même cette classe ?


    Merci encore.

  10. #10
    pom
    pom est déconnecté
    Membre habitué
    Inscrit en
    Février 2003
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 120
    Points : 128
    Points
    128
    Par défaut
    Voilà: http://www.kirupa.com/developer/actionscript/advanced_collision.htm
    Pas la peine d'en mettre autant que lui, ni de mettre quelque chose dans tes clips, mais l'idée est là.

    Et les fichiers flash 7 sont compatibles avec Flash 8 mais la réciproque est fausse

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bon ok merci, je vais essayer

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

Discussions similaires

  1. Détection des collisions.
    Par Catastrophe dans le forum Débuter
    Réponses: 34
    Dernier message: 14/05/2011, 20h20
  2. Réponses: 3
    Dernier message: 28/05/2010, 13h41
  3. Réponses: 2
    Dernier message: 05/07/2007, 17h35
  4. [FLASH 8] Gestion des collisions
    Par celinha dans le forum Flash
    Réponses: 12
    Dernier message: 23/06/2006, 11h15
  5. Réponses: 7
    Dernier message: 22/02/2006, 18h54

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