Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-11-2002, 13:36   #1 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
eigener Listener bauen

Hi

Ich hab folgenden Plan:

1. ich möchte ein Objekt erstellen

2. dieses Objekt sollte eine EventHandler haben (den es natürlich auch noch nicht gibt.

3. Das Ereignis, das 'gehandelt' werden soll, ist ein Zeitereignis. ZB eine bestimmte Zeit

Ich weiss, dass man sich mit dem Befehl ASBroadcaster (der leider noch nicht dokumentiert ist) eigene Listener erstellen kann. Nur wie ?

Ist nicht ganz einfach. um ehrlich zu sein, ich möchte wissen, wie man sich einen eigenen Listener baut.

skyla

Skyla ist offline   Mit Zitat antworten
Alt 22-11-2002, 13:47   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Mit dem ASBroadcaster kann man eigene Ereignis-Quellen bei der Event-Engine von AS anmelden. Für viele Objekte gibt es aber bereits eigene Listener, beispielsweise für Maus, Tastatur, Stage, MCs und Textfelder.

Was genau soll denn dein Listener "abhören"?
  Mit Zitat antworten
Alt 22-11-2002, 14:26   #3 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
hi Skyla, warst du nicht neulich so begeistert von dem as-buch von ralf siegel?
da steht das sehr schön beschrieben ab seite 209.
hier ein skyla-spezifisches beispiel
ActionScript:
  1. Skyla = new Object();
  2. Skyla.onSpaghetti = function() {
  3.     trace("lecker spaghetti");
  4. };
  5. Skyla.onPizza = function() {
  6.     trace("jam, jam, pizza");
  7. };
  8. gutknut = new Object();
  9. gutknut.onPizza = function() {
  10.     trace("nicht schon wieder");
  11. };
  12.  
  13. Essen = new Object();
  14. ASBroadcaster.initialize(Essen);
  15. Essen.addListener(Skyla);
  16. Essen.addListener(gutknut);
  17.  
  18. // Essen ist fertig:
  19. Essen.broadcastMessage("onSpaghetti");
  20. Essen.broadcastMessage("onPizza");
gruss
michael
michael ist offline   Mit Zitat antworten
Alt 22-11-2002, 14:38   #4 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
Ich weiss. Hab mir jetzt mal alle Listener rausgeschrieben. Hab jetzt voll den überblick. Hoho


ich vermisse in Flash einfach einen EH, der das Ereignis Zeit handeln kann. Ich möchte zB, dass Freitag, 22. november 2002, 16.00 ein ereignis ist.

ich weiss, dass könnte man mit einem getDate, if, onEnterFrame, etc. checken. ich möchte aber mal verstehen, wie ich eigene EventHandler oder Listner baut.

Listner: ich weiss, dass AsBroadcaster ein function hat (initialize), die wenn man sie auf ein Objekt anwendet, diesem 3 neue Methoden hinzufügt:

addListner
removeListner
broadcastMessage

während die ersten 2 ja noch bekannt sind, sagt mir die 3 gor nix

und wie's weiter geht, krieg ich auch nicht auf die reihe. Ich hab mir jetzt aber gerade die upgedate Documentation von MM runtergeladen (dank an bokel für den tip) und schau mal, ob da was drinsteht.

gruss stephan
Skyla ist offline   Mit Zitat antworten
Alt 22-11-2002, 14:52   #5 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
@gutknut: Oh ja ! das buch ist 1a. aber sein willy.onregen.mimmdenRegenschirm-Beispiel kann ich irgendwie nicht auf mein melder.onFreitagNachmittag.meldeEs-Beispiel umsetzen.

AsBroadcaster ist übrigens auch in der neuen Doku nicht drin.
Skyla ist offline   Mit Zitat antworten
Alt 22-11-2002, 14:53   #6 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hi Skyla,

das Prinzip ist nicht schwer:

Ein Broadcaster verwaltet eine Liste mit Objekten
mit den Methoden addListener und removeListener.

broadcastMessage(event) durchläuft diese Liste
und ruft in jedem Objekt die Methode mit dem
Namen event auf.

Wie du siehst, passiert der Aufruf von broadcastMessage
nicht automatisch. Fuer dein Beispiel muesstest du also
eine Schleife benutzen, die regelmaessig die Zeit abfragt
und dann entsprechend reagiert, also broadcastMessage
aufruft.

mfg r.

Geändert von bokel (22-11-2002 um 15:00 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 22-11-2002, 22:20   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Thumbs up

sehr schön erklärt bokel...

greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 23-11-2002, 11:28   #8 (permalink)
filmtip: snatch
 
Registriert seit: Oct 2001
Beiträge: 1.562
ja. danke dir auch. schön erklärt.

kann es aber sein, dass es sich dabei einfach um ein neues Model handelt, dessen vorteil darin liegt, den code übersichtlicher zu struckturieren und das debugging zu vereinfachen und that's it ?

also gar keine extra funktionalitäten ?

thx
Skyla ist offline   Mit Zitat antworten
Alt 23-11-2002, 12:11   #9 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Das kommt darauf an, was du unter extra Funktionalität verstehst. In der Tat ist es so, dass grosse Teile des ASBroadcasters intern mit Actionscript realisiert sind. Insofern ist es also keine extra Funktionalität.

mfg r.
bokel 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 06:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele