2010-05-26 3 views
1

J'ai obtenu une carte de l'Europe conçue en flash (1 MovieClip, 1 Frame, vraiment simple), qui contient la carte comme objets de dessin directement à l'intérieur de la scène et en plus certains pays spécifiques comme boutons cliquables . Jusqu'à présent, ça fonctionne bien. Ce dont j'ai besoin maintenant, c'est de rendre tous les autres objets de dessin cliquables sans avoir à éditer et scripter chaque objet. Je pense à quelque chose comme ça (code pseudo):Actionscript 3: pour chaque objet de dessin dans movieclip

foreach(obj in MovieClip) { 
    if(obj !typeof(Button)) { 
     obj.addEventListener(MouseEvent.MOUSE_DOWN, genericClickListener); 
    } 
} 

Je ne sais pas la syntaxe comment atteindre cet objectif. Quelqu'un pourrait-il me donner un indice?

Merci, Mathias

Répondre

1

Essayez ceci:

function genericClickHandler(event:Event):void { 
    trace('clicked'); 
} 

// loop through all children 
for (var i:int = 0; i < numChildren; i++) { 
    var child:Object = getChildAt(i) as Object; 
    // check if display is not a button and check if it has a buttonMode property 
    if (!(child is SimpleButton) && child.hasOwnProperty('buttonMode')) { 
    child.buttonMode = true; 
    child.addEventListener(MouseEvent.CLICK, genericClickHandler, false, 0, true); 
    } 
} 
+0

Malheureusement, il ne sélectionne pas les objets de dessin ordinaire, mais la conversion de tous les domaines pertinents en symboles se fait en quelques quelques minutes. Merci beaucoup pour la solution :) – maff

+0

Votre accueil. Bon à savoir, cela a marché pour vous. – Shiki

Questions connexes