Problème de génération de patchwork

Résolu
Signaler
Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 février 2009
-
Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 février 2009
-
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

Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 février 2009

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 +
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
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'
Messages postés
14
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
9 février 2009

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?