Problème de génération de patchwork

Résolu
cs_kuzobugi Messages postés 14 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 février 2009 - 1 févr. 2009 à 15:48
cs_kuzobugi Messages postés 14 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 février 2009 - 2 févr. 2009 à 16:53
Tout d'abord bonjour,

je suis étudiant aux Beaux-Arts et j'ai pour projet de faire un site interactif : un site où, suivant la navigation, certaines tâches apparaissent de manière aléatoire sur des images clés ce qui donne au final en arrière plan un patchwork personnalisé. Pour être plus précis, dans le scénario principal, je met un bouton à l'image 1 (pour passer a l'image2), le code a l'image 2, puis un bouton plus tard pour revenir sur l'image 1. Etant pas très doué pour le code je m'y suis quand même mis mais je rencontre un problème.

J'utilise un attachmovie puis un duplicatemovieclip et j'ai fait deux formes de codes.

Le premier est le suivant :

_root.attachMovie("tache_jaune_2", "tache_jaune_2" +i, i++);
_root["tache_jaune_2"+i]._x=600+random (400)
_root["tache_jaune_2"+i]._y=0+random (400);
for(i=1; i<=5; i++){
    duplicateMovieClip("tache_jaune_2", "tache_jaune_2"+i, nextGetHighestDepth());
}

donc le problème de celui-là, c'est que le premier duplicatemovieclip est remplacé par le suivant et ainsi de suite.

Le deuxième est le suivant :

_root.attachMovie("tache_jaune_0", "tache_jaune_"+i, getNextHighestDepth());
_root["tache_jaune_"+i]._x=600+random (400)
_root["tache_jaune_"+i]._y=0+random (400);
quantité = 1;
while (quantité>0) {
duplicateMovieClip ("tache_jaune_", "mc"+i, i++);
setProperty ("mc"+i, _x, random(550));
setProperty ("mc"+i, _y, random(400));
setProperty ("mc"+i, _xscale, random(50));
setProperty ("mc"+i, _yscale, random(50));
i++;
quantité--;
}

La il y a un autre problème. Lors du troisième passage, la dernière tache apparait a un endroit fixe, et l'ancienne se décale aléatoirement.

Donc voilà je ne sais pas d'où vient le problème. En tout cas, ça me ferait énormément plaisir que quelqu'un me vienne en aide, voir m'explique mes erreurs que je puisse apprendre.

D'avance merci.

Kuzobugi

3 réponses

cs_kuzobugi Messages postés 14 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 février 2009
2 févr. 2009 à 16:53
bon c'est bon, j'ai un peu beaucoup galéré mais j'ai enfin réussi. Peut être que j'en ferai une source une fois que j'aurais terminé le projet.

Donc le code que j'ai utilisé c'est:

if(i==undefined)
{
_root.attachMovie("tache_jaune_0", "tache_jaune_ref", getNextHighestDepth());
_root["tache_jaune_ref"]._x=600+random (400)
_root["tache_jaune_ref"]._y=0+random (400);
i=0;
}
else{
    if(i<3){
duplicateMovieClip ("tache_jaune_ref", "mc"+i, getNextHighestDepth());
this["mc"+i]._x = random(550);
this["mc"+i]._y = random(400);
i++;
    }
}

(pour beaucoup ça doit faire rire mais j'ai l'impression d'avoir franchi un grand pas). et j'ai en plus mis le if(i<3) pour pas que ça raballe trop.

en tout cas merci beaucoup a pegase31 pour le tuyaux.

a +
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
1 févr. 2009 à 16:00
hou les vilains "setProperty" AS1 qui datent de flash 4 ....

Je te montre :
setProperty ("mc"+i, _x, random(550));
devient:
this["mc"+i]._x = random(550);

Peg'
0
cs_kuzobugi Messages postés 14 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 9 février 2009
1 févr. 2009 à 16:11
Merci pour le tuyaux. Mais j'ai du mal à gérer les this, des fois ça ne s'applique pas a ce que je voudrais mais je crois commencer à comprendre.

Sinon, aucune idée d'où viendrait le problème?
0
Rejoignez-nous