Transformer un clip en bouton par action script [Résolu]

Signaler
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005
-
Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
-
re-bonjour,
j'ai maintenant un probléme pour éxécuter une action lorsqu'on clique sur un des clip, voici mon code:

var num = 1;
while (num<10) {
var nouvclip:MovieClip = this.createEmptyMovieClip("clp"+num, num);
.........
nouvclip.onRelease = function() { ...... }
............
++num;
}

la ligne en rouge ne doit pas fonctionner puisqu'il ne se passe rien lorsque je clique sur une un clip.
merci d'avance
Rlc

8 réponses

Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
2
Pfff...erreur d'étourderie...faut le sortir du onRelease le "varI":



for (i=1; i<=71; i++) {

this.createEmptyMovieClip("clp"+i, this.getNextHighestDepth());

this["clp"+i].createEmptyMovieClip("conteneur",2);

this["clp"+i].conteneur.loadMovie(...........);

this["clp"+i].conteneur._x = ....... ;

this["clp"+i].varI = i;

this["clp"+i].onRelease = function() {
trace("Le i vaut:"+i+" // et varI vaut:"+this.varI);
};


}

@+! Samy
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005

en fait les clip sont des photos et lorsque je clique dessus je veut les afficher en grand dans un autre clip mais je n'arrive pas a appliquer une action lors d'un clique sur chacune des photos


merci de m'aider Rlc
Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
2
for(i=1;i<=10;i++){

this.createEmptyMovieClip("clp"+i,this.getNextHighestDepth());

this["clp"+i].onRelease=function(){

this.varI=i; //Je te le mets, car c'est la question suivante quand tu fais ça en général

trace("Le i vaut:"+i+" // et varI vaut:"+this.varI);

}

}



Voilà! attention à "++num" qui s'écrit "num++"!



@+! Samy
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005

le script en le laissant comme tu me l'as donné fonctionne mais il ne se passe toujours rien lorsque je clique sur une image.je met mon script entier:

for (i=1; i<=71; i++) {
this.createEmptyMovieClip("clp"+i, this.getNextHighestDepth());
this["clp"+i].loadMovie(...........);
this["clp"+i]._x = ....... ;

this["clp"+i].onRelease = function() {
this.varI = i;
trace("Le i vaut:"+i+" // et varI vaut:"+this.varI);
};

}

en mettant ca il ne se passe rien en cliquant.
Merci de votre aide
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005

en fait lorsque je met

this["clp"+i]._parent.onRelease =.......

cela fonctionne mais le i est toujours le méme alors qu'il m'en faudrait un différent a chaque fois que je clique sur une image différente. je doit peut étre préciser que ce script n'est pas a la racine mais sur un clip nommé "album"
Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
2
A mon avis, c'est ton "loadMovie" qui fait planter, essaie comme ça:



for (i=1; i<=71; i++) {

this.createEmptyMovieClip("clp"+i, this.getNextHighestDepth());

this["clp"+i].createEmptyMovieClip("conteneur",2);

this["clp"+i].conteneur.loadMovie(...........);

this["clp"+i].conteneur._x = ....... ;



this["clp"+i].onRelease = function() {
this.varI = i;
trace("Le i vaut:"+i+" // et varI vaut:"+this.varI);
};


}

@+! Samy
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005

ca fait pareil, le i vaut 72 et I aussi
Messages postés
9
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
3 octobre 2005

vue que chaque image fait la méme taille j'ai fait un calcul par rapport a l'emplacement ce qui me donne le numero de la photo a chaque fois:

var num = ((this.conteneur._x + 345)/105);

chaque image mesure 105px et la premiére est a -345px doncpour l'instant tout marche bien

merci beaucoup