Clic sur un clip.

Résolu
Signaler
Messages postés
77
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
23 avril 2009
-
Messages postés
77
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
23 avril 2009
-
Bonsoir à tous, je fais une nouvelle fois appelle à vos services. Voilà, d'après les différents post que j'ai l'eu, les programmeurs flash semble ne plus souhaiter intégrer du code à l'intérieurs des clips. Donc voilà la question que je me pose.

J'ai sur ma surface 64 occurences d'un même clip. Ils sont positionner en dur. Je voudrais faire un appel de fonction lors d'un clic sur un des clips en passant comme paramètre le nom du clip cliqué. Comment puis-je gérais çà sans intégrer du code au clip? Dois-je mettre le code dans chaque occurence du clip sur ma surface?

2 réponses

Messages postés
120
Date d'inscription
mercredi 14 décembre 2005
Statut
Membre
Dernière intervention
10 décembre 2007

Salut,

c'est vrai que mettre ton script à un seul endroit (à   la racine) permet de ne pas foutre du code partout et évite par conséquent pas mal d'erreurs et puis pour se faire aider (par exemple sur le forum de flashKod  ) ça te permet d'envoyer tout le script d'un coup. Cela dit il m'arrive encore de mettre du code dans des clips pour gagner du temps, à chacun de voir.
Quoiqu'il en soit, voilà comment je fonctionne en générale lorsque j'ai beaucoup d'occurences à traiter :

D'abord il faut nommer tes occurences "clip0", "clip1", "clip2", ...

var nbClip:Number = 0;
var testNbr:Number = 0;
while (this["clip"+testNbr] != undefined) {
    this.testNbr++;
}
// Désormais testNbr correspond à ton nombre d'occurences présent sur ta scène
for (i=0; i<testNbr; i++) {
    this["clip"+i].onPress = function() {
        var nomClip:String = this._name;
        trace("nom du clip : "+nomClip); // Affiche le nom de ton clip
        trace("numéro de clip : "+nomClip.substring(4, nomClip.length)); // Permet d'afficher le numéro en fin du nom d'occurence  : ex : 0 pour "clip0"
       this._x += 30;  // Et pour agir directement sur ton clip : ici on ajoute 30 au x du clip sur lequel on appuie.
    };
}

Voilà tu as déjà de bonnes bases pour t'amuser...

++
Messages postés
77
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
23 avril 2009

Impec, je l'ai adapté à mon cas, ça marche super. Merci de ton aide.