Erstellen Sie benutzerdefinierte MouseEvent.CLICK-Ereignis in AS3 (Parameter an eine Funktion)?

Diese Frage nicht beziehen sich nur auf das MouseEvent.KLICKEN Sie auf Ereignis-Typ, aber alle event-Typen, die bereits in AS3. Ich lese viel über benutzerdefinierte Ereignisse, aber bis jetzt konnte ich nicht herausfinden, wie zu tun, was ich tun möchte. Ich werde versuchen zu erklären, ich hoffe, Sie verstehen:

Hier ist eine illustration meiner situation:

for(var i:Number; i < 10; i++){
    var someVar = i;
     myClips[i].addEventListener(MouseEvent.CLICK, doSomething);
}

function doSomething(e:MouseEvent){ /* */ }

Aber ich möchte in der Lage sein, um pass someVar als parameter an doSomething. Also versuchte ich Folgendes:

for(var i:Number; i < 10; i++){

    var someVar = i;
    myClips[i].addEventListener(MouseEvent.CLICK, function(){
        doSomething(someVar);
    });
}

function doSomething(index){ trace(index); }

Diese Art von Werken aber nicht so, wie ich erwarten. Durch die Funktion Verschlüsse, wenn das MouseEvent.KLICKEN Sie auf Ereignisse tatsächlich feuerte die für Schleife ist schon vorbei und someVar hält den letzten Wert, die Anzahl 9 im Beispiel. Also jeder Klick in jeder Film-clip-call doSomething vorbei 9 als parameter. Und es ist nicht das, was ich will.

Dachte ich, dass das erstellen eines benutzerdefinierten Ereignisses sollte funktionieren, aber dann konnte ich nicht einen Weg finden, um ein benutzerdefiniertes Ereignis ausgelöst, wenn das MouseEvent.CLICK-Ereignis ausgelöst, und übergeben Sie die parameter. Nun weiß ich nicht, ob es die richtige Antwort.

Was soll ich tun und wie?

  • Für jemand anderes suchen, in dieser habe ich noch eine schnelle code-Beispiel zum übergeben von Parametern an eine Funktion hier: rocketwidget.com/...
InformationsquelleAutor fromvega | 2009-01-08
Schreibe einen Kommentar