Probleme pour renvoyer un mc a sa position initiale lorsqu'on arrete l'anim

ygardens Messages postés 22 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 13 mars 2006 - 27 oct. 2005 à 23:12
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 - 28 oct. 2005 à 14:54
bonjour,
j'ai une fonction,qui fait bouger des mc
comment faire pour que quand j'appuis sur un btn, le mouvement s'arrete (ca je sais faire), mais surtout que les mc se deplacent vers leur position initiale, pas qu'il apparaissent a leur position initiale au centre, mais qu'on les voit se deplacer vers leur position initiale au centre!
Faut il faire une autre fonction ou utiliser la fonction de base

voici mes fonctions de base


Code:
,
----

function getdistance(x, y, x1, y1) {
var run, rise;
run = x1-x;
rise = y1-y;
return (_root.hyp(run, rise));
}
function hyp(a, b) {
return (Math.sqrt(a*a+b*b));
}
MovieClip.prototype.reset = function() {
width = 400;
height = 300;
//-------------------
var dist, norm;
this.x = this._x;
this.y = this._y;
this.speed = Math.random()*5+2;
this.targx = Math.random()*width;
this.targy = Math.random()*height;
dist = _root.getdistance(this.x, this.y, this.targx, this.targy);
norm = this.speed/dist;
this.diffx = (this.targx-this.x)*norm;
this.diffy = (this.targy-this.y)*norm;
};
MovieClip.prototype.move = function() {
if (_root.getdistance(this.x, this.y, this.targx, this.targy)>this.speed) {
this.x += this.diffx;
this.y += this.diffy;
} else {
this.x = this.targx;
this.y = this.targy;
if (!this.t) {
this.t = getTimer();
}
if (getTimer()-this.t>50) {
this.reset();
this.t = 0;
}
}
this._x = this.x;
this._y = this.y;
};

sur le mc je met le code suivant:


Code:
,
----

onClipEvent(enterFrame){
move();
}
merci pour votre aide
@+

YD

1 réponse

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
28 oct. 2005 à 14:54
Salut
ben ton reset devrai definir un onEnterFrame move, et une variable (genre gotoInit true)*et dans move, quand il arrive a la fin du mouvement (position position initiale) et que gotoInit true; alors tu suprime le onEnterFrame (delete onEnterFrame)
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
Rejoignez-nous