AS2 - collisions déclenches actions

Signaler
Messages postés
3
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
3
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
15 avril 2008
-
Bonjour,

je suis en train de créer mon portfolio sous flash. en fait, j'aimerais qu'au niveau du menu, on puisse déplacer une ptite bébète avec les touche fléchées, et quand elle passerais sur un bouton (collisions), ça lancerait un lien vers la rubrique approprié.
genre si j'amène la bébète sur le bouton "contact" ça lance une fenêtre de contact, ou une page de contact, n'importe.

j'ai essayé ça : [URL]http://stephaneey.developpez.com/tutoriel/flashmx2004/collision//URL
(du moins j'ai pris la source pour essayer un truc).
en fait, j'ai rajouté une commande qui renvoie sur un lien quand la collision est détécté.

mc2.onEnterFrame=function()
{
    Collision.text="";
    if(mc1.hitTest(this))
    {
        Collision.text="Collision détectée";
        getURL("http://www.google.fr");
    }
}
le blem :D c'est que si on enlève pas le rond de la barre, bah ça ouvre trente-six millions de fenètre google :D d'ailleurs mon flash à planter suite à ça ^^

Questions :

il faudrait rajouter quoi pour que ça ne lance le lien qu'une fois?
[B]Est ce que je peux aussi faire en sorte que lorsque la ptite bébète passe sur un bouton, il faut à l'utilisateur d'appuyer sur ENTREE par exemple pour déclencher le lien? (c'est plutot ça qui me faudrait ^^)

/B Je peux aussi mettre une commande afin que ça renvois vers une autre séquence? (je pense oui).

et enfin ^^ dernière question pas vraiment en rapport ou presque : ma bébète va se déplacer en sautant. mais j'aimerais qu'elle ne saute que quand on la déplace (genre à droite ou à gauche). j'ai essayé de faire une animation de "saut" dans le clip mc1 de la source, mais bien entendu le rond saute tout le temps ^^

pour voir un petit aperçu de comment saute mes bébète, voici mon animation d'intro ^^
[URL]http://naohto.free.fr/aide/flash/preload.swf/URL

et petit renseignement : si je veux que mon perso ne se déplace qu'horizontalement, je dois juste mettre "key right" et "key left" dans le code? par contre, ma ptite bébète se limitera au limites de l'animation? ou si on continue d'appuyer sur la touche gauche elle ira à gauche indéfiniment?

donc voilà...pour l'instant je crois que j'ai que ça comme questions ^^

merci d'avance pour toutes vos réponses!! ^^

2 réponses

Messages postés
337
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 janvier 2011

Bonjour,

Pour éviter que cela t'ouvre des milliers de fenetre soit tu renvoie la tete de lecture dans une autre frame ou alors tu fais un delete (onEnterFrame)....

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
Don't forget accept
Messages postés
3
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
15 avril 2008

on m'a donné ce code sur un autre forum...

var isWalked:Boolean=false;//variable de controle pour savoir si j ai
déja lancé le getURL...c a s appelle un flag ou drapeau
mc2.onEnterFrame=function()
{
Collision.text="";
if(mc1.hitTest(this)){
if(!isWalked){
Collision.text="Collision détectée";
getURL("http://www.google.fr");
je mets a true pour pas relancere tant que je suis dessus
isWalked=true
}
}else{
//pas collision je remets a false
isWalked=false;
}
}

j'ai essayé, ça marche bien. mais en fait j'aimerais bien que quand ma bébète va passer sur un bouton en la déplacant, l'utilisateur appuie sur la touche entrée pour aller à la page ou à l'action du bouton. j'ai fait des essais mais ça a pas marché... et je vois pas comment faire, parce que ma bébète doit être un clip si je veux la bouger c'est ça? or je peux aps mettre un onKey press dessus vu que c'est pas un bouton... ou alors faudrait mettre le code sur le bouton mais faudrait pouvoir savoir quand la bébéète est en train de apsser dessus ou non... et là je sias pas comment faire...

merci d'avance pourvos réponses...