Tu ferais pt-etre mieux de placer ton code dans la timeline. Hachement plus mieux controlable.
Ensuite, vi, les prototypes se révelent trés pratique. En particulier quand differents clips utilisent un même bout de procédure (ici le déplacement).
En AS (commen en JS d'ailleurs) tu peut surveiller une variable. Regarde dans le manuel à : "watch".
// ---
my_mc.destX = 10;
my_mc.vitesse = 2;
// ---
MovieClip.prototype.moveLeClip = function(prop, oldVal, newVal, userData) {
trace("MovieClip.prototype.moveLeClip("+prop+", "+oldVal+", "+newVal+", "+userData+")");
this.onEnterFrame = function() {
// trace("my_mc.onEnterFrame");
this._x += (this.destX-this._x)/this.vitesse;
if (Math.round(this._x-this.destX) == 0) {
trace("delete my_mc.onEnterFrame : "+(this._x-this.destX));
delete this.onEnterFrame;
}
};
return newVal;
};
// ---
my_mc.onRelease = function() {
trace("my_mc.onRelease");
this.destX += 100;
// this.moveLeClip(); // Plus la peine d'appeler cette methode. destX etant surveiller par un "Listener"
};
// ---
// Exemple. Un deuxieme clip qui n'a rien a voir avec le premier. Ici on modifie la variable destX du premier. Grace au watcher, l'appli sait qu'elle doit appeler la fonction "moveLeClip"
second_mc.onRelease = function() {
trace("second_mc.onRelease");
my_mc.destX += 100;
};
// ---
my_mc.watch("destX", moveLeClip, "Data envoyee");