Je craaaaque sur les attachmovie et duplicatemovieclip

maazdaa Messages postés 3 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 14 avril 2005 - 14 avril 2005 à 20:36
_Geno_ Messages postés 6 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 7 janvier 2006 - 7 janv. 2006 à 20:09
j'ai un bouton "cible" qui se déplace et sur lequel j'aimerai qu'apparaisse à chaque clic un clip "impact" à l'endroit du bouton ou j'ai cliqué.
Jusque là tout va bien mais en fait le problème c'est qu'avec mon code (voir ci après) le troisième "impact" remplace le deuxième puis le quatrième remplace le troisième et ainsi de suite... Je voudrais qu'on puisse infliger autant d'impact sur le bouton que l'on veut mais je n'y arrive pas....merci d'avance...

mon code (i, ecarty et ecartx sont des variables globales définie dans la frame 1 du scenario principal. ecarty et ecartx sont des tableau et la valeur initiale de i est 0)

on(press){

if(i==0)
{
this.attachMovie("impact","impactE0",0,{_x:_xmouse,_y:_ymouse})
ecarty[0]=_root.cible._y-_ymouse;
ecartx[0]=_root.cible._x-_xmouse;

trace("ds attach i="+i);
trace("ecarty="+ecarty[i]);
trace("ecartx="+ecartx[i]);

_root.impactE0.onEnterFrame = function(){


this._y = _root.cible._y-ecarty[0];
this._x = _root.cible._x-ecartx[0];

}
i++;
}
else
{
_root.impactE0.duplicateMovieClip("impactE0"+i,i,{_x:_xmouse,_y:_ymouse});
ecarty[i]=_root.cible._y-_ymouse;
ecartx[i]=_root.cible._x-_xmouse;


_root["impactE0"+i].onEnterFrame = function(){
this._y = _root.cible._y-ecarty[i-1];
this._x = _root.cible._x-ecartx[i-1];
trace("ds duplicate i="+i);
}
i++;
}
}
A voir également:

3 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
15 avril 2005 à 00:59
Pourquoi ne fais-tu pas que des attachMovie ?


SuperDevy, c la !
0
stown Messages postés 93 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 11 mai 2006
15 avril 2005 à 11:07
déja un probléme ici :

_root.impactE0.duplicateMovieClip("impactE0"+i,i,{_x:_xmouse,_y:_ymouse});
ecarty[i]= _root.cible._y-_ymouse;
ecartx[i]=_root.cible._x-_xmouse;
_root["impactE0"+i].onEnterFrame = function(){
this._y = _root.cible._y-ecarty[i-1];
this._x = _root.cible._x-ecartx[i-1];
trace("ds duplicate i="+i);
}
i++

ton i va changer a chaque duplicateMovieClip... sa va posé un probléme non?!?!?

fait pluto comme sa:

_root.impactE0.duplicateMovieClip("impactE0"+i,i,{_x:_xmouse,_y:_ymouse});
//tes variable "ecarty" et "ecartx" seront unique a l'impact que tu duplique!
_root["impactE0"+i].ecarty =_root.cible._y-_ymouse;
_root["impactE0"+i].ecartx =_root.cible._x-_xmouse;
_root["impactE0"+i].onEnterFrame = function(){
//tu peu donc les reprendre ici sans probléme
this._y = _root.cible._y-this.ecarty;
this._x = _root.cible._x-this.ecartx;
trace("ds duplicate i="+i);
}
i++

Ensuite pour le reste fait que des attachMovie... sa simplifie ton code...
0
_Geno_ Messages postés 6 Date d'inscription vendredi 18 mars 2005 Statut Membre Dernière intervention 7 janvier 2006
7 janv. 2006 à 20:09
Ouais moi je suis pas d'accord, enfin je code plutôt en Java mais l'algo reste le même

Stown quand tu dis que le i change à chaque foi je suis pas sûr en faite.


<hr size="2" width="100%"> this._y = _root.cible._y-ecarty[i-1];

this._x = _root.cible._x-ecartx[i-1];


<hr size="2" width="100%">on prend la varrible i - 1 --> le i n'est pas changer il rest donc le même

Mais si on fait:


<hr size="2" width="100%"> this._y = _root.cible._y-ecarty[i = i-1];

this._x _root.cible._x-ecartx[i i-1];


<hr size="2" width="100%">là on soustrait bien 1 de i et on le stock dans la variable i = i - 1



mais bon je sais même pas si tu parlais de ce changment là parce que je suis pas sûr ^^

Geno
0
Rejoignez-nous