Réponse acceptée !
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)
Bonne continuation