cs_jcdc
Messages postés77Date d'inscriptionsamedi 9 août 2003StatutMembreDernière intervention23 avril 2009
-
20 juin 2007 à 19:11
cs_jcdc
Messages postés77Date d'inscriptionsamedi 9 août 2003StatutMembreDernière intervention23 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?
cs_embalmer
Messages postés120Date d'inscriptionmercredi 14 décembre 2005StatutMembreDernière intervention10 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.
};
}