Bonjour,
Déjà il ne faut jamais mettre le code sur un MovieClip. Il est préférable d'écrire le code au niveau de la scène.
Pour faire déplacer un MovieClip (MC) en code il y a 2 solutions. La première utiliser onEnterFrame et la seconde utiliser la classe Tween.
La première solution consiste à simuler le passage de la tête de lecture sur l'image clé (onEnterFrame) contenant le code à la cadence de la scène par exemple 25 images par seconde
La seconde c'est utiliser la classe Tween. Pour cela il faut indiquer après importation (import) de cette classe, le nom du MC à déplacer (mobile dans mon exemple), la propriété sur laquelle agir (ici le _x), le type d'effet (Strong, Elastic, Bounce, Regular, None) et le moment de l'effet easeIn, easeOut, easeInOut, easeNone), la position de début et la position de fin et enfin la vitesse en IPS ou en images clés (true, false)
Première solution :
Sur la scène sur un calque un MC nommé dans les propriétés mobile.
Sur un autre calque nommé ActionScript il faut écrire :
//vitesse en nombre de pixel
vitesse=5
//Si ta scène est a 25 ips toute les 1/25 de seconde le MC mobile est déplacé
mobile.onEnterFrame=function(){
mobile._x+=vitesse
//Test si je suis toujours sur la scène
if (mobile._x>Stage.width){
//remettre le MC mobile à gauche de l'écran
mobile._x=0
}
}
Seconde solution :
Sur la scène sur un calque un MC nommé dans les propriétés mobile.
Sur un autre calque nommé ActionScript il faut écrire :
//importation de la classe Tween dans le document
import mx.transitions.Tween;
//"*" permet d'importer les effets
/*Les effets : Back, Regular, Bounce, Elastic, Strong, None
Moment de l'effet : easeIn, easeOut, easeInOut, None*/
import mx.transitions.easing.*;
//Les propriétés : _x, _y, _xscale, _yscale, _alpha, _rotation
var Anim:Tween = new Tween(mobile, "_x", Strong.easeOut, -50, Stage.width+mobile._width, 80, false);
//Deplacement en boucle
Anim.looping = true;
Bon courage.....