cs_wips
Messages postés25Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention27 septembre 2007
-
14 sept. 2007 à 09:35
cs_wips
Messages postés25Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention27 septembre 2007
-
16 sept. 2007 à 13:38
Bonjour à tous.
Voilà mon problème du jour :
J'ai une serie de boutons animé qui passent dans la largeur de l'ecran(en fait ce sont des nuages) en boucle et j'aimerais que leur mouvement s'arrete au passage de la souris (afin de pouvoir cliquer dessus). Dans l'idéal j aimerai qu'il ne s'arretent pas tout net mais qu'ils ralentissent progressivement.
Voila, si quelqu'un a une piste, ou encore l'adresse d'un post du forum pour me mettre sur la voie...
Merci d'avance.
Blacknight91titi
Messages postés1732Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 9 mars 20152 15 sept. 2007 à 10:29
Bonjour,
Allez je suis dans mon bon jour je vais t'aider un peu.
Si tu souhaite réalisé cela en AS voici une idée pour réalisé ton projet :
1 - L'utilisateur passe le curseur sur un des clips en question
2 - On réduit la vitesse de défilement du clip jusqu'a ce qu'il atteigne 0
3 - On ajoute un interval à ces coordonées (à choisir) qui sera les coordonées d'arrivée du clip
4 - On avance le clip doucement (voir le code ci dessous)
Note cependant qu'avec cette méthode ton "nuage" ne devra pas se déplacer dans son clip avec une interpolation de mouvement, tu devra déplacer le clip en modifiant ces coordonées. Je ne sais cependant pas si dans ton animation tu garantit un déroulement continu de ton "nuage" (comme s'il ne finissait jamais), je ferai donc un exemple pour le défilement d'un clip normal allant de gauche à droite et revenant à ces coordonées d'origine une fois le bout de la scène dépasser.
Code : (Je commente les lignes de codes afin que tu comprenne mon raisonement)
//Tout d'abord nous allons établir une boucle continu permettant de déplacer le clip
//Le clip s'appellera MovieClip et aura les dimension suivante : width:100px ; height:100px;
//Ici notre clip se déplacera de gauche à droite mais pas en hauteur.
//Ce code est à placer sur _root, sur la frame principale
Vitesse =5;//Vitesse de défilement du clip (note : pour défiler de droite à gauche il suffit de donner une valeur négative)
VitesseMax = Vitesse;//Vitesse maximum de défilement
Int =50;//Interval pour le rallentissement/accélération (plus il est petit plus le clip s'aretera vite)
onEnterFrame = function() { //boucle éxécuter une fois par frame (selon la vitesse de lecture de ton animation)
MonClip._x += Vitesse;//mouvement du clip
if (MonClip._x - MonClip._width / 2 > Stage.width) //si le clip sort du champ de vision de l'animation
MonClip._x = -MonClip._width; //on le replace en début de course
}
Mouvement = function(Sens:Number) { //fonction permettant de ralentir jusqu'a arret du clip ou de le faire repartir
Vitesse += Sens / VitesseMax; //action sur la vitesse (augmentation ou réduction)
if (Sens < 0 && Vitesse < 1) Vitesse = 0; //on assure que la vitesse sera de 0
else if (Sens > 0 && Vitesse > VitesseMax - 1) Vitesse = VitesseMax; //on assure une vitesse maximum if (Vitesse 0 || Vitesse VitesseMax) clearInterval(Interval); //on efface l'interval si le clip est bien relancé et arreter
}
MonClip.onRollOver = function() { //au passage du curseur sur le clip
clearInterval(Interval); //on efface l'interval par mesure de sécurité
Interval = setInterval(Mouvement,Int,-1); //on demande le ralentissement (d'où le -1)
}
MonClip.onRollOut = function() { //lorsque le curseur sort du clip
clearInterval(Interval); //on efface l'interval par mesure de sécurité
Interval = setInterval(Mouvement,Int,1); //on demande l'accélération (d'où le 1)
}
Voila, ce n'est certe pas la meilleur façon de le faire (on me le reprochera peut être) mais c'est la plus facile à mettre en oeuvre (je crois)
cs_wips
Messages postés25Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention27 septembre 2007 14 sept. 2007 à 12:42
Effectivement je viens de jeter un oeil sur la classe tween. Ca m'a l'air tout-à-fait indiqué pour mon problème. Seulement étant quand même un gros noob en AS, je ne sais pas très bien comment placer/écrire le code. Aurais-tu un exemple sous la main? Sinon je vais essayer de me debrouiller mais j'aimerai avancer vite.
Merci beaucoup pour ta réponse.
@+
PS:Bien-sûr que c'est des clips, je me suis fait tellement savonné sur mediabox pour avoir utilisé des bouttons...avec des comportements dedans en plus, non mais y'a des types, j'vous jure... ;-)
cedriclomb
Messages postés275Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention27 avril 20101 14 sept. 2007 à 18:33
J'ai pas vraiment d'exemple sous la main surtout que l'aide est vraiment bien foutu pour cette partie la (regarde dans les fichiers d'exemple de flash, il sont dans le repertoire d'installation planqué je ne sais plus ou)
et puis sinon un lien et apers c'est google
cs_wips
Messages postés25Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention27 septembre 2007 16 sept. 2007 à 13:38
yayaaa! C du lourd!! (Enfin pour moi ki ne suis q'un debutant...)
C bon ce genre de truc ça me fait apprendre un max, merci bcp!
Vivement que tu ais beaucoup d'autres bons jours comme ça!!
Je vais me tester ça trankille today.
Merci encore.
@+