| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
| dispatch und listen über die stage?
Hallo, ich hatte versucht ein Event aus meiner Hauptklasse zu dispatchen ... stage.dispatchEvent(new Event("newPosition")) .. und diesen in einer Klasse (die für Starling benutzt wird) von der stage aus über einen Listener zu empfangen. stage.addEventListener("newPosition",newPos); Dieser kommt jedoch irgendwie nicht an. Verstehe ich hier was falsch? Ich hab den Weg über die Stage genommen weil mir die Struktur zur Starling steuernden Klasse nicht klar war (Klassen-Typ wird an Starling Objekt bei der Erzeugung übergeben). Danke für jede Hilfe litchi |
| | |
| | #2 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Wahrscheinlich dispatchst Du das Event bevor der Listener registriert wurde?!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Leider nicht, den Listener gibt es vor dem dispatchen. Hab mal ein Trace an der Stelle eingefügt, listener taucht zuerst auf. Die Events beruhen momentan auch noch auf Mausbewegungen, werden also permanent geschickt. Die Empfängerklasse ist ein Starling-sprite. Kann das zu Problemen führen? Nun haben die Starling Klassen ja nicht so die direkte Verbindung zu normalen Flash DisplayObjekten . Geändert von litchi (14-12-2011 um 16:36 Uhr) |
| | |
| | #4 (permalink) |
| + Zimt & Zucker Registriert seit: Mar 2006 Ort: hinterm Mond gleich links
Beiträge: 2.041
|
__________________ anbei Grüße vom milchreis: Viva la [Silb] "Selbst wenn uns nur noch der Zynismus treibt, wir werden trotzdem einfach immer weiter gehen!" [Von null auf Flash in einem Klick.] <<< klick |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Sehe gerade es wird auch die Starling Event Klasse beim Empfänger benutzt. *Kopfkratz* Mal sehen wie ich da hin komme. Edit: ah ok, andere Stage Klasse. Muss ich mir da so was wie ne Event-Klasse basteln damit die kommunizieren können? Geändert von litchi (14-12-2011 um 16:46 Uhr) |
| | |
| | #6 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Du musst Dir deshalb entweder überlegen, wie Du in Starling an die stage der Anzeigeliste rankommst, oder Dir ein anderes global verfügbares Objekt suchen. Ich habe mir für solche Fälle mal folgende Klasse zusammengebastelt: ActionScript:
![]()
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (14-12-2011 um 17:21 Uhr) | |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Ja an so was dachte ich. Nach Abschicken hauen die beiden Event Klassen aufeinander. TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.events::Event@435fba1 kann nicht in starling.events.Event umgewandelt werden. at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at net.martinkraft.utils::StaticEventDispatcher$/dispatchEvent().... Im Starling-Forum hatte ich gesehen wie jemand sich die Insanz von der Starlington Stage raus sucht und die Funktoin direkt aufruft. Schien aber älter zu seien da dies bei mir nicht gefunzt hat. |
| | |
| | #8 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
|
Du musst Dein Event eben auf flash.events.Event typisieren und nicht auf starling.events.Event!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Hmm, stimmt. Kann man denn zwei Klassen mit dem gleichen Namen benutzen? Wenn ich diesen hier mache bekomme ich eine Fehlermeldung dass der Typ nicht eindeutig ist, da ich auch den Starling Event nutze. private function newPos(e:flash.events.Event):void |
| | |
| | #10 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Dieser Code sollte aber eigentlich keine Probleme bereiten?! Du darfst nur keine zweite import-Anweisung schreiben! P.S.: Ich find diese Namensdopplungen in Starling übrigens ziemlichen Blödsinn. Sowas schafft doch nur Verwirrung! Mit einen entsprechenden Vorsilbe wäre es doch genauso eindeutig gewesen?!
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (15-12-2011 um 09:41 Uhr) |
| | |
| | #12 (permalink) | |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.141
| Zitat:
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript | |
| | |
| | #13 (permalink) | |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.162
| Zitat:
Obwohl: Ich schlag mich gerade mit Box2D rum. Die haben auch einfach die Point-Klasse ignoriert und eine eigene Klasse namens b2Vec2 geschrieben - aber die wurde wenigstens nicht identisch benannt.
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! Geändert von Martin Kraft (15-12-2011 um 09:59 Uhr) | |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Jetzt fehlt nur noch die Referenz von Clip der das Event versendet (jetzt wird ja auf die StaticEventDispatcher dispatched), damit ich auf die gewünschten Positonsdaten zugreifen kann. Oder sollte ich mir dazu einen eigenen Event erstellen der die zu übertragenden Daten enthält? Oder gibt es was eleganteres?
|
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: May 2007
Beiträge: 180
|
Ok, hab mir dann mal ein DataEvent gemacht um beliebige Daten zu übertragen. Dann erübrigt sich auch die doppelte Event Namensgebung. PHP-Code: Geändert von litchi (15-12-2011 um 10:32 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Flash CS4] AS3 stage current frame über Button abfragen | persilcolor | Flash Einsteiger | 1 | 24-01-2010 12:30 |
| TextFeld auf der Stage über Klassen ansprechen.... | Garth | ActionScript 3 | 5 | 16-07-2008 14:46 |
| 'Stage.displayState' nur über Nutzer-Aktion veränderbar? | kerstin_mi | Flash 8 | 5 | 13-09-2007 07:29 |
| dispatch Problem | pixelslave | ActionScript 2 | 2 | 02-09-2007 00:38 |
| Positionen über Listen vergleichen | bname | ActionScript 1 | 1 | 26-09-2002 14:19 |