Twinspirit
Messages postés58Date d'inscriptionmercredi 21 mai 2008StatutMembreDernière intervention 7 mai 2012
-
14 juil. 2010 à 17:41
Twinspirit
Messages postés58Date d'inscriptionmercredi 21 mai 2008StatutMembreDernière intervention 7 mai 2012
-
15 juil. 2010 à 06:53
Bonjour,
C'est étonnant, mais je suis un dev AS3 qui commence à peine à apprendre l'AS2 (ouaip, j'ai fait les choses à l'envers !). Je dois dire que je galère pas mal (AS3, c'est quand même plus pratique.)
Mon problème concerne l'évènement onMouseDown sur un Movieclip.
Voici le code :
stop();
//Je regarde tous les clips de la scene
for (var i in this) {
if (typeof (this[i]) == "movieclip")
{
trace("movie clip "+this[i]._name+" is at depth "+this[i].getDepth()+" and is a "+this[i].ptype);
if (this[i].ptype == "source")
//Si ce clip est une source
{
//Je place un evenement onMouseDown dessus
this[i].onMouseDown = function()
{
trace (this._name);
startLine(this);
}
}
}
}
//Mais cette méthode est appelée quelque soit l'endroit ou je clique...
function startLine(evtTarget:MovieClip)
{
trace ("mouseDown on source : "+evtTarget._name);
}
Le but est de détecter le "onMousedown" sur les clips portant la variable ptype == "source" et aucun autre, afin de tracer une ligne à partir de ce clip.
L'embêtant, c'est que quelque soit l'endroit ou je clique sur la scène, il détecte un clic sur ma source, un clip que j'ai nommé liner01, et qui porte le code suivant :
var ptype:String = "source";
Je ne comprend pas ce qui cloche.
Quelqu'un peut m'aider ?
Le onMouseDown est toujours appliqué toutes les occurences capables de la recevoir. Il faut donc y rajouter un hitTest pour verifier que l'on est bien sur notre cible.