Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-09-2007, 08:13   #1 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
Event in anderem MovieClip ausfuehren mir AS3

Hallo,

in AS2 bin ich es gowohnt einen Listener in anderem Objekt zu registrieren:

addEventListener("onEvent", this._parent);

Dann definiere ich einfach onEvent in dem Objekt.

Aber AS3 ist anderes, da gibt es diese Syntax:

addEventListener("onEvent", methode);

so etwas wie:

addEventListener("onEvent", parent.methode);

Oder das hier geht auch nicht:

var mainTimeLine:MovieClip = this.parent.parent.parent.parent.parent;

this.addEventListener(MouseEvent.MOUSE_DOWN, mainTimeLine.onPress);

Wie kann ich Events in anderen Objekten registrieren.

Gruss,
Mirza
mirzahat ist offline   Mit Zitat antworten
Alt 07-09-2007, 08:52   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Mein Post relativ weit unten:
addEventListener von MC auf externen Button

Du registrierst aber keine Events. Du registrierst EventListener (Funktionen) in einem Objekt. Du brauchst also in Objekten nur Referenzen auf die Objekte, denen du ein Listener zuweisen möchtest.

Anbei eine Skizze:
  1. Object 2 kennt alle EventListener-Funktionen (die einen Event als Parameter bekommen) in seinem Scope und kann via this.addEventListener(type, function) registrieren.
  2. Object 1 bekommt eine Referenz auf Object 2
  3. Object 1 kann sich selbst und Object 2 (da es die Referenz auf die Instanz hat) EventListener registrieren
Es geht also wie immer nur um das Referenzieren auf Methoden.

Hoffe das hilft ein bisschen für's Verständnis.
Angehängte Grafiken
Dateityp: jpg ListenerSkizze.jpg (11,3 KB, 66x aufgerufen)

Geändert von Omega Psi (07-09-2007 um 08:55 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 07-09-2007, 09:05   #3 (permalink)
Haaajmo Bosno!!!
 
Benutzerbild von mirzahat
 
Registriert seit: Aug 2001
Ort: Bihać
Beiträge: 692
nee das verstehe ich einfach nicht...alles hat so wunderbar in AS2 funktioniert jetzt kommt hier so was ich komme nicht weiter

ich habe auf root:

function onSoEinEvent(){

}

in einem verschachteltem MC ist ein button, der diese methode auf root abrufen soll...wie erreiche ich das?

this.addEventListener(MouseEvent.CLICK, onSoEinEvent);

geht ja nicht!
mirzahat ist offline   Mit Zitat antworten
Alt 07-09-2007, 09:16   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Du musst nur Referenzen der einzelnen Objekte zur Verfügung stellen.
Hier sind 2 gegenteilige Möglichkeiten, EventListener zu registrieren.

Ein zentraler EventListener, den sich alle Objekte registrieren:
addEventListener von MC auf externen Button

Jedes Objekte bekommt seinen eigen EventListener zugewiesen:
addEventListener von MC auf externen Button

Wenn du mit root arbeitest - was auch nciht so optimal ist, funtioniert es prinzipiell genauso. Du kannst auf root zugreifen, sobald ein DisplayObject Event.ADDED feuert.

Ich würde dir aber empfehlen, von root wegzukommen.
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele