Pb avec duplicate movie clip

cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 3 févr. 2005 à 04:11
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 3 févr. 2005 à 18:56
bonjour,
voila j'ai sur une image clef un script qui me permet de dupliquer un clip.
jusque la pas de probleme, ca marche.
par contre je voudrais qu'il aie a l'image 2 dans ce clip (dupliqué) mais ca ne fonctionne pas, il reste sur l'image 1 !

diagonale.gotoAndPlay(2);
// duplicate movie clip
num = 45;
xstart = -380;
n = 1;
while (n <= num) {
duplicateMovieClip("diagonale", "diagonale" add n, n);
setProperty("diagonale" add n, _x, xstart + n*18);
n = n + 1;
}
setProperty("diagonale", _visible, 0);

merci de votre aide

18 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 13:37
Heu, tu es au courant que ton code est de l'actionscript Flash 4.0 ?!

Non, parceque si tu codes ça sous Flash MX, il comprendras, mais c'est comme faire les courses à champion avec une ferrari !

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 13:40
alors a quoi mon code devrait-il ressembler ?

merci de ton aide
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 13:49
à ça :

diagonale.gotoAndPlay(2);
// duplicate movie clip
num = 45;
xstart = -380;
for (n=1; n<=num; n++) {
diagonale.duplicateMovieClip("diagonale"+n, n);
this["diagonale"+n]._x = xstart;
}
diagonale._visible = false;

Voilà, ça c'est un code correct.
Par contre, ce que je ne comprend pas c'est pourquoi ta première ligne est juste (code Flash 5) alors que le reste est faux (Flash 4). Tu es certain de ne pas avoir pompé un code je ne sais où et que tu ne sais pas t'en sortir ?!

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 13:54
ok merci !
mais ca ne resoud pas mon probleme qui est de pouvoir piloter les 45 clips dupliqués de n'importe ou dans la sequence.

exemple sur le clip boutons
on(release){
_parent._parent.animation.diagonale.gotoandplay(3);
}

merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 13:57
... de plus avec ton code la duplication ne fonctionne plus avec ton code .
je suis sous MX
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 14:07
si ça le résouds avec cette ligne :

this["diagonale"+n]._x = xstart;


Si je te mets un code, c'est pour que tu l'étudies et pas juste le copier/coller
Je sais que ça fonctionne mais le but est que tu apprennes et pas que tu t'en serves tel-quel !

Peg'
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 14:11
alors change par la ligne :
duplicateMovieClip("diagonale", "diagonale"+n, n);

peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 15:07
bon ... C vrai la prog n'est pas mon fort
je rame !!!!!
le clip a l'air de se dupliquer si je fais un trace mais toujours a la meme position (je crois) ... donc je ne vois pas l'alignement des 45 clips avec les intervalles de 30px

<HR>
num = 15;
xstart = 30;
for (n=1; n<=num; n++) {
duplicateMovieClip("diagonale", "diagonale"+n, n);
this["diagonale"+n]._x = xstart;
}
diagonale._visible = false;
<HR>

je ne vois pas d'où viens mon erreur

merci encore de ton aide
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 16:05
bonne nouvelle !
j'ai reussi a dupliquer le clip (je sais pas si C la bonne methode)

num = 15;
xstart = 10;
for (n=1; n<=num; n++) {
duplicateMovieClip("diagonale", "diagonale"+n, n);
this["diagonale"+n]._x = xstart+ n*18;
}

<HR>

mauvaise nouvelle !
toujours impossible d'appeller tous les clips dupliqués

for (n=1; n<=15; n++){
nom_occurence="diagonale"+n;
nom_occurence.gotoAndPlay(2);
trace(nom_occurence);
}

pourtant mon trace affiche bien diagonale1,diagonale2,diagonale3,...
merci de ton aide
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 16:06
bonne nouvelle !
j'ai reussi a dupliquer le clip (je sais pas si C la bonne methode)

num = 15;
xstart = 10;
for (n=1; n<=num; n++) {
duplicateMovieClip("diagonale", "diagonale"+n, n);
this["diagonale"+n]._x = xstart+ n*18;
}

<HR>

mauvaise nouvelle !
toujours impossible d'appeller tous les clips dupliqués

for (n=1; n<=15; n++){
nom_occurence="diagonale"+n;
nom_occurence.gotoAndPlay(2);
trace(nom_occurence);
}

pourtant mon trace affiche bien diagonale1,diagonale2,diagonale3,...
merci de ton aide
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 17:13
mais bon sang, ça sert à quoi que je t'explique le principe du "this[]" ?!

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 17:16
mais ? tu m'as rien expliqué a ce sujet... nan ?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 17:24
l'exemple parle de lui-même...

Il n'y a pas à disserter sur le sujet :
var i = "tata"
this ["toto_"+i+"01"]
permettra d'appeller le clip "toto_tata01" et de changer ses propriétés.

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 17:44
oui ... excuse- moi, ca parait tellement evident

mais G encore un soucis si mon action est appelé dans un clip _parent:
j'ai mis ca mais ca marche pas

nom_occurence=this["MADIA.diagonale"+n];

merci encore mille fois
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 17:50
non, tu n'as pas compris du tout l'utilisation de cette fonction :
this["MADIA.diagonale"+n]._x = 100

c'est le nom de ton clip que tu appelles, n'essaye pas de le conner dans une variable, ce n'est pas fait pour !

Pour appeller un clip en _parent, tu dois faire :
_parent["MADIA.diagonale"+n]._x = 100

ça marche avec n'importe quel level !

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 18:11
je me suis mal exprimé ...
ce que je veux faire C piloter ce qu'il se trouve dans diagonale depuis un autre clip
ex :
Dans ma sequence j'ai un clip animation, qui comporte un clip MADIA et qui lui comporte les clips diagonale1, diagonale2, diagonale3,
donc dans mon clip animation je voudrais une image clef qui contient le script :

for (n=1; n<=45; n++){
chemin=this["MADIA.diagonale"+n];
chemin.gotoAndPlay(2);
}
mais je ne vois pas comment ecrire la var chemin
pour que ca donne :
MADIA.diagonale1.gotoAndPlay(2);
MADIA.diagonale2.gotoAndPlay(2);
MADIA.diagonale3.gotoAndPlay(2);
...
merci
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
3 févr. 2005 à 18:16
oui, tu n'essayes pas de comprendre ... c'est bien ce que je dis !
Tu es codeur Javascript, php ou un truc dans le genre, non ?

et pourquoi tu essayes pas simplement ça, plutôt que de faire compliqué ?! :
MADIA["diagonale"+n].gotoAndPlay(2);

Non, là, tu es désespérant ...

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
3 févr. 2005 à 18:56
Ce fut long ... mais ca marche !
merci de ta patience et desolé pour mon incompétence et mes incompréhensions

biz
0