Clic sur un clip.

Résolu
cs_jcdc Messages postés 77 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 23 avril 2009 - 20 juin 2007 à 19:11
cs_jcdc Messages postés 77 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 23 avril 2009 - 21 juin 2007 à 20:47
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

cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
21 juin 2007 à 20:12
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...

++
3
cs_jcdc Messages postés 77 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 23 avril 2009
21 juin 2007 à 20:47
Impec, je l'ai adapté à mon cas, ça marche super. Merci de ton aide.
0
Rejoignez-nous