Flash : actions collisions

Flash : actions collisions - Web design - Graphisme

Marsh Posté le 13-04-2008 à 23:26:19    

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 : http://stephaneey.developpez.com/t [...] collision/  
(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é.
 

Citation :

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 ^^  
 
[B][COLOR=Red]Questions :[/COLOR][/B]
 
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 ^^  
http://naohto.free.fr/aide/flash/preload.swf
 
 
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!! ^^

Reply

Marsh Posté le 13-04-2008 à 23:26:19   

Reply

Marsh Posté le 14-04-2008 à 10:17:16    

mc2.onEnterFrame=function()
{
    Collision.text="";
    if(mc1.hitTest(this))
    {
        this.onEnterFrame = null;
        Collision.text="Collision détectée";
        getURL("http://www.google.fr" );
    }
}
Deja tu ajoutes cette ligne pour pas ouvrir 10000 fenetres.
 
Sinon pour la touche Enter, tu dois utiliser la classe Key (cf l'aide) et une fois que ta touche est enfoncé tu vois si la bete et le bouton se touchent (hitTest) et la tu lances ton getURL.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 14-04-2008 à 10:36:10    

je vais voir ça merci bien. on m'avait donné ça aussi comme code, mais ça ne lance juste qu'une action (get url) sans prendre en compte le controle par touches.
 
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;
}
}
*
 
 
 
EDIT : je viens d'essayer ton truc. le blem c'est que la page google se lance mais dès le début de l'naim, alors que la bébète n'a pas touché le bouton. j'ai essayé de rajouter un keypress mais on peut pas vu que le code se trouve sur la scène principale et non sur le bouton. de plus, ma bébète ne peut être un bouton, vu que sinon je ne peux plus la déplacer (vu que ce n'est plus un clip...)


Message édité par nocolkte le 14-04-2008 à 10:43:44
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed