Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Rheinwerk Design
ISBN 3-89842-221-6
gp Kapitel 12 Ereignisse
  gp 12.1 Vor- und Nachteile
    gp 12.1.1 Vor- und Nachteile von Ereignisprozeduren
    gp 12.1.2 Vor- und Nachteile von Ereignismethoden
    gp 12.1.3 Vor- und Nachteile von Ereignismethoden in Flash 5
    gp 12.1.4 Vor- und Nachteile von Listener
  gp 12.2 Reihenfolge der Ereignisse
    gp 12.2.1 Bildbasierte Ereignisreihenfolge
    gp 12.2.2 Bildunabhängige Ereignisreihenfolge
    gp 12.2.3 updateAfterEvent
    gp 12.2.4 setInterval
    gp 12.2.5 initClip
    gp 12.2.6 _changed
  gp 12.3 Ereignisprozeduren
    gp 12.3.1 Fehlerquelle
    gp 12.3.2 on
    gp 12.3.3 onClipEvent
  gp 12.4 Ereignismethoden
    gp 12.4.1 allowDomain
    gp 12.4.2 allowInsecureDomain
    gp 12.4.3 onActivity
    gp 12.4.4 onChanged
    gp 12.4.5 onClose
    gp 12.4.6 onConnect
    gp 12.4.7 onData
    gp 12.4.8 onDragOut
    gp 12.4.9 onDragOver
    gp 12.4.10 onEnterFrame
    gp 12.4.11 onID3
    gp 12.4.12 onKeyDown
    gp 12.4.13 onKeyUp
    gp 12.4.14 onKillFocus
    gp 12.4.15 onLoad
    gp 12.4.16 onMouseDown
    gp 12.4.17 onMouseMove
    gp 12.4.18 onMouseUp
    gp 12.4.19 onPress
    gp 12.4.20 onRelease
    gp 12.4.21 onReleaseOutside
    gp 12.4.22 onRollOut
    gp 12.4.23 onRollOver
    gp 12.4.24 onScroller
    gp 12.4.25 onSelect
    gp 12.4.26 onSetFocus
    gp 12.4.27 onSoundComplete
    gp 12.4.28 onStatus
    gp 12.4.29 onSync
    gp 12.4.30 onUnload
    gp 12.4.31 onUpdate
    gp 12.4.32 onXML
  gp 12.5 Listener
    gp 12.5.1 Listener simulieren
    gp 12.5.2 AsBroadcaster
    gp 12.5.3 onChanged
    gp 12.5.4 onKeyDown
    gp 12.5.5 onKeyUp
    gp 12.5.6 onMouseDown
    gp 12.5.7 onMouseMove
    gp 12.5.8 onMouseUp
    gp 12.5.9 onMouseWheel
    gp 12.5.10 onResize (Stage)
    gp 12.5.11 onScroller(target)
    gp 12.5.12 onSetFocus (Selection)


Rheinwerk Design - Zum Seitenanfang

12.4 Ereignismethoden  downtop

Die Liste der Ereignismethoden (siehe Tabelle »Ereignismethoden« ab Seite 302) umfasst eine ganze Reihe an Objekten und deren zugehörige Methoden. Dabei sind einige Ereignismethoden polymorph. D.h. einige Methoden wie zum Beispiel onLoad existieren für unterschiedliche Objektarten mit abweichendem Verhalten.

Polymorphismus

Der Polymorphismus ist ein Verhalten der Objektorientierung. Dabei sind Objekte polymorph, wenn Sie gleichnamige Methoden besitzen, die unterschiedliche Fähigkeiten beschreiben. Die Methode fass funktioniert bei einem Menschen zum Beispiel anders als bei einem Hund.

Ereignismethoden entsprechen normalen Methoden, die Flash beim Eintritt des zugehörigen Ereignisses automatisch aufruft. Da es sich wie gesagt bei Ereignismethoden im Wesentlichen um Methoden handelt, verhält sich nicht nur die Erstellung identisch. Zusätzlich ist auch der Aufruf wie bei normalen Methoden erlaubt. Das folgende Beispiel arbeitet zum Beispiel die in der Ereignismethode onLoad angegebenen Anweisungen auch ohne das zugehörige Ereignis ab:

// onLoad funktioniert bei Ereignismethoden nicht immer korrekt (siehe Buch)
Ereignismethode als methode.fla
mcSeepferdchen.onLoad = function() {
   // Positioniere die Instanz
   trace("Init");
   this._x = 275;
   this._y = 200;
};
// "Händischer" Aufruf der Ereignismethode onLoad in der Instanz mcSeepferdchen
mcSeepferdchen.onLoad();
mcSeepferdchen.onEnterFrame = function() {
   // Skaliere Instanz abhängig vom Abstand zum Mauszeiger
   var deltax = this._parent._xmouse-this._x;
   var deltay = this._parent._ymouse-this._y;
   // Phytagoras zur Abstandsberechnung
   var entfernung = Math.sqrt(deltax*deltax+deltay*deltay);
   // Logarithmus für realistischeren Entfernungseindruck
   var scale = 100/Math.log(entfernung+10);
   this._xscale = scale;
   this._yscale = scale;
   // Bewege Instanz in Richtung Mauszeiger
   this._x = this._x+(this._parent._xmouse-this._x)/8;
   this._y = this._y+(this._parent._ymouse-this._y)/8;
};
mcSeepferdchen.onMouseDown = function() {
   // "Händischer" Aufruf der Ereignismethode onLoad in derselben Instanz
   this.onLoad();
};
// Alternative
mcSeepferdchen.onMouseDown = mcSeepferdchen.onLoad;

Tabelle 12.4   Ereignismethoden und früheste unterstützte Flash-Version (Tabelle 1)

Ereignismethode Button Camera ContextMenu ContextMenuItem
allowDomain        
allowInsecureDomain        
onActivity   6    
onChanged        
onClose        
onConnect        
onData        
onDragOut 6      
onDragOver 6      
onEnterFrame        
onID3        
onKeyDown 6      
onKeyUp 6      
onKillFocus 6      
onLoad        
onMouseDown        
onMouseMove        
onMouseUp        
onPress 6      
onRelease 6      
onReleaseOutside 6      
onRollOut 6      
onRollOver 6      
onSelect     7 7
onScroller        
onSetFocus 6      
onSoundComplete        
onStatus   6    
onSync        
onUnload        
onUpdate        
onXML        


Tabelle 12.5   Ereignismethoden und früheste unterstützte Flash-Version (Tabelle 2)

Ereignismethode LoadVars LocalConnection Microphone MovieClip
allowDomain   6    
allowInsecureDomain   7    
onActivity     6  
onChanged        
onClose        
onConnect        
onData 6     6
onDragOut       6
onDragOver       6
onEnterFrame       6
onID3        
onKeyDown       6
onKeyUp       6
onKillFocus       6
onLoad 6     6
onMouseDown       6
onMouseMove       6
onMouseUp       6
onPress       6
onRelease       6
onReleaseOutside       6
onRollOut       6
onRollOver       6
onSelect        
onScroller        
onSetFocus       6
onSoundComplete        
onStatus   6 6  
onSync        
onUnload       6
onUpdate       6
onXML        


Tabelle 12.6   Ereignismethoden und früheste unterstützte Flash-Version (Tabelle 3)

Ereignismethode NetConnection NetStream SharedObject Sound
allowDomain        
allowInsecureDomain        
onActivity        
onChanged        
onClose        
onConnect        
onData        
onDragOut        
onDragOver        
onEnterFrame        
onID3       7
onKeyDown        
onKeyUp        
onKillFocus        
onLoad       6
onMouseDown        
onMouseMove        
onMouseUp        
onPress        
onRelease        
onReleaseOutside        
onRollOut        
onRollOver        
onSelect        
onScroller        
onSetFocus        
onSoundComplete       6
onStatus 6 6 6  
onSync     6  
onUnload        
onUpdate        
onXML        


Tabelle 12.7   Ereignismethoden und früheste unterstützte Flash-Version (Tabelle 4)

Ereignismethode System Textfield Textfield. Stylesheet XML XMLSocket
allowDomain          
allowInsecureDomain          
onActivity          
onChanged   6      
onClose         5
onConnect         5
onData     7 5 5
onDragOut          
onDragOver          
onEnterFrame          
onID3          
onKeyDown          
onKeyUp          
onKillFocus   6      
onLoad     7 5  
onMouseDown          
onMouseMove          
onMouseUp          
onPress          
onRelease          
onReleaseOutside          
onRollOut          
onRollOver          
onSelect          
onScroller   6      
onSetFocus   6      
onSoundComplete          
onStatus 6        
onSync          
onUnload          
onUpdate          
onXML         5


Rheinwerk Design - Zum Seitenanfang

12.4.1 allowDomain  downtop

Das Ereignis allowDomain wird immer dann ausgelöst, wenn eine Flash-Anwendung per lokaler Verbindung von einer anderen Anwendung angesprochen wird (siehe LocalConnection, Seite 623).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
localConnectionInstanz.allowDomain(sendendeDomain);

Rheinwerk Design - Zum Seitenanfang

12.4.2 allowInsecureDomain  downtop

Das Ereignis allowInsecureDomain wird immer dann ausgelöst, wenn eine Flash-Anwendung aus einer sicheren Domain (https) per lokaler Verbindung von einer anderen Anwendung aus einer unsicheren Domain angesprochen wird (siehe LocalConnection, Seite 623).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 7 zur Verfügung.
       
gp  Syntax:
localConnectionInstanz.allowInsecureDomain(sendendeDomain);

Rheinwerk Design - Zum Seitenanfang

12.4.3 onActivity  downtop

Das Ereignis onActivity wird immer dann ausgelöst, wenn ein angeschlossenes Mikrofon (Audioquelle) oder eine angeschlossene Kamera (Videoquelle) eine festgelegte Stufe an Veränderung überschreitet. Dies können Sie zum Beispiel für einen Bewegungsmelder oder ein Babyphon verwenden (siehe Camera (Seite 616) und Microphone (Seite 624)).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
cameraInstanz.onActivity(aktivität);
microphoneInstanz.onActivity(aktivität);
gp  Parameter:
    aktivität: Dieser boolesche Parameter wird automatisch an die Ereignismethode übergeben und legt fest, ob Aktivität erkannt (true) oder beendet wurde (false).
       
gp  Beispiel:
// Babyphone
onActivity.fla
meinMikrofon=Microphone.get();
// Bestimme Aktivitätsschwelle
meinMikrofon.setSilenceLevel(20,10);
meinMikrofon.onActivity = function(aktivitaet) {
   if (aktivitaet) {
      mcAnzeige.gotoAndStop(1);
   } else {
      mcAnzeige.gotoAndStop(2);
   }
}
// Audioquelle muss zur Bestimmung der Aktivität verwendet werden
_root.attachAudio(meinMikrofon);

Rheinwerk Design - Zum Seitenanfang

12.4.4 onChanged  downtop

Das Ereignis onChanged wird immer dann ausgelöst, wenn sich der Inhalt eines Textfeldes verändert. Dies können Sie zum Beispiel für die Überprüfung einer Formulareingabe verwenden (siehe Textfield, Seite 653).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
textfeldInstanz.onChanged();
gp  Beispiel:
meinTextfeld.onChanged=function () {
onChanged.fla
   trace("meinTextfeld wurde verändert!");
}

Rheinwerk Design - Zum Seitenanfang

12.4.5 onClose  downtop

Das Ereignis onClose wird immer dann ausgelöst, wenn ein Socket-Server die Verbindung zu einer XMLSocket-Instanz beendet (siehe XMLSocket, Seite 641).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
xmlSocketInstanz.onChanged();

Rheinwerk Design - Zum Seitenanfang

12.4.6 onConnect  downtop

Das Ereignis onConnect wird immer dann ausgelöst, wenn ein Verbindungsaufbau zu einem Socket-Server erfolgreich war oder fehlgeschlagen ist (siehe XMLSocket, Seite 641).

gp  Bemerkung:
    Diese Ereignismethode steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
xmlSocketInstanz.onConnect(erfolgreich);
gp  Parameter:
    erfolgreich: Ein boolescher Wert, der angibt, ob eine Socket-Verbindung erfolgreich hergestellt wurde (true) oder nicht (false).
       

Rheinwerk Design - Zum Seitenanfang

12.4.7 onData  downtop

Das Ereignis onData wird immer dann ausgelöst, wenn Daten geladen werden. Dies können Sie zum Beispiel für einen Preloader verwenden (siehe MovieClip, LoadVars, XML und XMLSocket in der Kurzreferenz).

gp  Bemerkung:
Für loadVars ist diese Methode undokumentiert.
    Diese Ereignismethode steht für XML und XMLSocket-Instanzen seit dem Flash Player 5 und für Movieclips sowie LoadVars-Instanzen seit dem Flash Player 6 zur Verfügung. Seit dem Flash Player 7 gibt es dieses Ereignis auch noch für TextField.StyleSheet-Instanzen.
       
    Bei Movieclips wird diese Methode nach dem Empfang einzelner Teile der zugehörigen SWF-Datei aufgerufen. Bei LoadVars-, TextField.StyleSheet-, XML- und XMLSocket-Instanzen kommt es erst nach dem Abschluss der gesamten Ladeoperation zu dem Ereignis.
       
    Die Ereignismethode onData ist darüber hinaus für LoadVars-, TextField.Stylesheet-, XML- und XMLSocket-Instanzen bereits vordefiniert und führt zum »Parsen« (Umwandeln in Flash-Datenstruktur) der eingelesenen Zeichenkette und dem anschließenden Aufruf der onLoad-Methode bei loadVars und XML oder der onXML-Methode bei xmlSocket.
       
gp  Syntax:
movieClipInstanz.onData();
loadVars.onData(daten);
textFieldStyleSheetInstanz.onData(daten);
xmlInstanz.onData(daten);
xmlSocketInstanz.onData(daten);
gp  Parameter:
    daten: Diese Zeichenkette wird bei LoadVars-, XML- und XMLSocket-Instanzen automatisch an die Ereignismethode übergeben und beinhaltet die geladenen Daten. Ist das Laden fehlgeschlagen, ist der Wert undefined.
       
gp  Beispiel:
    Das folgende Beispiel ist die Standarddefinition der Ereignismethode onData für XML-Instanzen:
       
XML.prototype.onData = function (daten) {
onData.fla
   if (daten == undefined) {
      this.onLoad(false);
   } else {
      this.parseXML(daten);
      this.loaded = true;
      this.onLoad(true);
   }
}
    Die Methode onData kann überschrieben werden, damit die geladenen Daten erfasst und zum Beispiel als Zeichenkette erhalten bleiben. Auf diese Art lädt Flash beliebige textbasierte Inhalte:
       
meinXML = new XML();
meinXML.onData = function (daten) {
   trace("Geladene Zeichenkette = " + daten);
}
meinXML.load("daten.txt");
Zeichenkodierung

Das Laden von textbasierten Inhalten hat Macromedia von Flash 5 nach Flash 6 geändert. Es basiert nun auf Unicode. Aus diesem Grund sollten Sie Dokumente für Flash 6 als Unicode (oder UTF-8) bereitstellen. Alternativ kann Flash 6 mit der Eigenschaft System.useCodepage=true auch dazu gezwungen werden, die Zeichenkodierung des Betriebssystems zu verwenden.


Rheinwerk Design - Zum Seitenanfang

12.4.8 onDragOut  downtop

Das Ereignis onDragOut wird immer dann ausgelöst, wenn auf den aktiven Bereich einer Instanz geklickt und dann der Mauszeiger mit gedrückter Maustaste aus dem aktiven Bereich herausgezogen wird (siehe Movieclip und Button in der Kurzreferenz).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onDragOut();
buttonInstanz.onDragOut();
gp  Beispiel:
meinMovieclip.onDragOut = function () {
   // Vergrößere Instanz
   this._xscale=this._xscale*1.1;
   this._yscale=this._yscale*1.1;
};

Rheinwerk Design - Zum Seitenanfang

12.4.9 onDragOver  downtop

Das Ereignis onDragOver wird ausgelöst, wenn auf den aktiven Bereich einer Instanz geklickt, der Mauszeiger mit gedrückter Maustaste aus dem aktiven Bereich herausgezogen und anschließen wieder hineingezogen wird (siehe Movieclip und Button).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung (siehe Tabelle »Ereignismethoden und früheste unterstützte Flash-Version«).
       
    Einige Ereignismethoden verhalten sich anders, sobald eine Instanz als Menüelement behandelt wird. Diese Einstellung nehmen Sie für jede Instanz einzeln entweder im Eigenschafteninspektor (bei Schaltflächen) oder über die Eigenschaft trackAsMenu (bei Buttons und Movieclips) vor. Insbesondere die Ereignismethode onDragOver macht erst in dieser Kombination wirklich Sinn! Sobald nämlich eine Instanz als Menüelement agiert, muss die Ereignisfolge nicht mehr auf der Instanz mit einem Drücken der Maustaste gestartet werden. D.  h., Flash ruft die Methode onDragOver auch auf, wenn Sie die Maustaste irgendwo drücken und dann auf die Instanz ziehen.
       
gp  Syntax:
movieClipInstanz.onDragOver();
buttonInstanz.onDragOver();
gp  Beispiel:
meinMovieclip.trackAsMenu = true;
onDragOver.fla
meinMovieclip.onDragOver = function() {
   // Verkleinere Instanz
   this._xscale = this._xscale/1.1;
   this._yscale = this._yscale/1.1;
};

Rheinwerk Design - Zum Seitenanfang

12.4.10 onEnterFrame  downtop

Das Ereignis onEnterFrame wird immer dann ausgelöst, wenn ein Bildwechsel stattfindet. Diese Ereignismethode verwenden Sie zum Beispiel immer dann, wenn Anweisungen regelmäßig wiederholt werden müssen (siehe Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onEnterFrame();
gp  Beispiel:
mcKuh.onEnterFrame = function() {
onEnterFrame.fla
   // Bewege Objekt von links nach recht
   this._x = (this._x+5);
   // Beschränke auf die Bühne (Modulo-Operation)
   this._x = this._x%550;
   // Bewege auf und ab
   this._y = 200-Math.abs(Math.sin(this._x/25))*50;
};
Hauptprogramm (main)

Einige Programmiersprachen benötigen eine Art »Hauptprogramm«. Bei dieser häufig als main bezeichneten Methode handelt es sich um den Kern der Anwendung. Häufig besteht diese Methode aus einer sich regelmäßig wiederholenden Schleife, die den gesamten Programmablauf steuert. Da Flash eine ereignisorientierte Sprache ist, gibt es diese Form eines »Hauptprogramms« nicht. Dennoch kann eine Hauptschleife (Mainloop), also eine sich wiederholende Programmsteuerung, erzeugt werden, indem zum Beispiel die Hauptzeitleiste mit einer onEnterFrame-Ereignismethode versehen wird. Gerade für Spiele ist das häufig nützlich:

_root.onEnterFrame = function() {
   // Überprüfe Kollisionen
   anweisungen;
   // Bewege Objekte
   anweisungen;
};

Rheinwerk Design - Zum Seitenanfang

12.4.11 onID3  downtop

Das Ereignis onID3 wird immer dann ausgelöst, wenn eine Sound-Instanz ID3-Informationen empfängt (siehe Sound, Seite 632).

gp  Bemerkung:
    Diese Ereignismethode steht offiziell seit dem Flash Player 7 zur Verfügung.
       
gp  Syntax:
soundInstanz.onID3();

Rheinwerk Design - Zum Seitenanfang

12.4.12 onKeyDown  downtop

Das Ereignis onKeyDown wird immer dann ausgelöst, wenn eine Taste gedrückt wird (siehe Movieclip, Seite 625). Um die gedrückte Taste zu ermitteln, verwenden Sie das Key-Objekt.

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
Achtung
    Für die korrekte Funktionsweise dieser Ereignismethode ist jedoch der Fokus erforderlich:
       
movieClipInstanz.focusEnabled = true;
Selection.setFocus(movieClipInstanz);
    Alternativ bietet sich für Tastatureingaben der gleichnamige Listener an. Dieser arbeitet vom Fokus unabhängig (siehe Listener).
       
gp  Syntax:
movieClipInstanz.onKeyDown();
buttonInstanz.onKeyDown();
gp  Beispiel:
mcMonster.focusEnabled = true;
onKeyDown.fla
mcMonster.onKeyDown = function() {
   this._x = 500;
};
mcMonster.onEnterFrame = function() {
   this._x = this._x/1.1;
   Selection.setFocus(mcMonster);
};

Rheinwerk Design - Zum Seitenanfang

12.4.13 onKeyUp  downtop

Das Ereignis onKeyDown wird immer dann ausgelöst, wenn eine Taste losgelassen wird (siehe Movieclip, Seite 625). Um die losgelassene Taste zu ermitteln, verwenden Sie das Key-Objekt.

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
Achtung
    Für die korrekte Funktionsweise dieser Ereignismethode ist jedoch der Fokus erforderlich:
       
movieClipInstanz.focusEnabled = true;
Selection.setFocus(movieClipInstanz);
    Alternativ bietet sich für Tastatureingaben der gleichnamige Listener an. Dieser arbeitet vom Fokus unabhängig (siehe Listener, Seite 325).
       
gp  Syntax:
movieClipInstanz.onKeyUp();
buttonInstanz.onKeyUp();
gp  Beispiel:
mcMonster.focusEnabled = true;
onKeyUp.fla
mcMonster.onKeyUp = function() {
   this._y = 400;
};
mcMonster.onEnterFrame = function() {
   this._y = this._y/1.1;
   Selection.setFocus(mcMonster);
};

Rheinwerk Design - Zum Seitenanfang

12.4.14 onKillFocus  downtop

Das Ereignis onKillFocus wird immer dann ausgelöst, wenn eine Instanz den Fokus verliert. Dies können Sie zum Beispiel für Formularüberprüfungen verwenden (siehe Button, Movieclip und Textfield).

gp  Bemerkung:
    Diese Ereignismethode steht für Button-, Movieclip- und Textfield-Instanzen seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onKillFocus(neuerFokus);
buttonInstanz.onKillFocus(neuerFokus);
textfieldInstanz.onKillFocus(neuerFokus);
gp  Parameter:
    neuerFokus: Dieser Parameter beinhaltet einen Zeiger auf die Instanz mit dem neuen Fokus.
       
gp  Beispiel:
meinTextfeld1.onKillFocus=function (neuerFokus) {
onKillFocus.fla
   trace("Sie haben den Fokus zu "
    + neuerFokus + " gewechselt!");
}

Rheinwerk Design - Zum Seitenanfang

12.4.15 onLoad  downtop

Das Ereignis onLoad wird immer dann ausgelöst, wenn ein Ladevorgang abgeschlossen ist (LoadVars, Sound, TextField.StyleSheet, XML) oder eine Instanz erzeugt wird (Movieclip). Dies verwenden Sie zum Beispiel für Initialisierungsanweisungen (siehe LoadVars, Sound, TextField.StyleSheet, XML und Movieclip in der Kurzreferenz).

gp  Bemerkung:
    Diese Ereignismethode steht für LoadVars-, Sound- und Movieclip-Instanzen seit dem Flash Player 6 zur Verfügung, das XML-Objekt beherrscht diese Ereignismethode bereits seit Flash 5, TextField.StyleSheet gibt es erst seit dem Flash Player 7.
       
gp  Syntax:
movieClipInstanz.onLoad();
soundInstanz.onLoad();
xmlInstanz.onLoad(erfolgreich);
loadVarsInstanz.onLoad(erfolgreich);
textFieldStyleSheetInstanz.onLoad(erfolgreich);
gp  Parameter:
    erfolgreich: Dieser Parameter wird automatisch an die Ereignismethode übergeben und beinhaltet bei einem erfolgreichen Ladevorgang den Wert true, bei einem fehlgeschlagenen Ladevorgang false.
       
gp  Beispiel:
meinSound = new Sound();
onLoad.fla
meinSound.onLoad = function() {
   this.start();
};
meinSound.loadSound("meinSound.mp3");}
Ereignismethode onLoad geht nicht

Die Ereignismethode onLoad widersetzt sich in manchen Situationen den eigenen Vorstellungen und scheint nicht auf Ereignisse zu reagieren.

Dies passiert bei Movieclips z.B. immer dann, wenn eine Instanz keine Ereignisprozeduren besitzt. Aus diesem Grund ist es in diesem Fall von Vorteil, auf die onLoad-Methode zu verzichten und notwendige Initialisierungen direkt zuzuweisen (ohnehin kann eine Methode einer Instanz ja erst dann zugewiesen werden, wenn diese bereits existiert, und dann kann es ja auch kein Ereignis mehr über die Erzeugung geben): Anstelle von

mcMonster.onLoad = function() {
onLoad vermeiden.fla
   // Initialisiere Startposition
   this._x = 10;
   this._y = 10;
};
schreiben Sie
// Initialisiere Startposition
mcMonster._x = 10;
mcMonster._y = 10;

Bei Ereignisprozeduren (onClipEvent) gibt es dieses eigentümliche Verhalten glücklicherweise nicht.

Aber auch bei den anderen Objektarten kommt es gelegentlich zu einer Ignoranz gegenüber dieser Methode. Dies liegt meist daran, dass die Definition der onLoad-Methode nach dem Aufruf des Ladevorgangs platziert ist und deshalb in einigen wenigen Fällen beim Abschluss des Ladens noch gar nicht existiert. Definieren Sie darum immer zuerst alle Ereignismethoden, bevor Sie weitere Methoden aufrufen.

// falsch
meineInstanz.load(url);
meineInstanz.onLoad=function () {…};
// richtig
meineInstanz.onLoad=function () {…};
meineInstanz.load(url);

Rheinwerk Design - Zum Seitenanfang

12.4.16 onMouseDown  downtop

Das Ereignis onMouseDown wird immer dann ausgelöst, wenn der Anwender die Maustaste drückt (siehe Movieclip, Seite 625).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung.
       
    Im Gegensatz zu onPress muss sich der Mauszeiger nicht im aktiven Bereich der Button- oder Movieclip-Instanz befinden.
       
gp  Syntax:
movieClipInstanz.onMouseDown();
gp  Beispiel:
this.lineStyle(0, 0xFF0000, 100);
onMouseDown.fla
this.moveTo(this._xmouse, this._ymouse);

this.onMouseDown=function () {
   // Zeichne Linie bis zum Mauszeiger
   this.lineTo(this._xmouse, this._ymouse);
}

Rheinwerk Design - Zum Seitenanfang

12.4.17 onMouseMove  downtop

Das Ereignis onMouseMove wird immer dann ausgelöst, wenn der Anwender die Maus bewegt (siehe Movieclip, Seite 625).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onMouseMove();
gp  Beispiel:
this.lineStyle(0, 0xFF0000, 100);
this.moveTo(this._xmouse, this._ymouse);

this.onMouseDown=function () {
   // Zeichne Linie bis zum Mauszeiger
   this.lineTo(this._xmouse, this._ymouse);
}

Rheinwerk Design - Zum Seitenanfang

12.4.18 onMouseUp  downtop

Das Ereignis onMouseUp wird immer dann ausgelöst, wenn der Anwender die Maustaste loslässt (siehe Movieclip, Seite 625).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung.
       
    Im Gegensatz zu onRelease muss sich der Mauszeiger nicht im aktiven Bereich der Button- oder Movieclip-Instanz befinden.
       
gp  Syntax:
movieClipInstanz.onMouseUp();
gp  Beispiel:
// Minimalprogramm
onMouseUp.fla
this.lineStyle(0, 0xFF0000, 100);

this.onMouseDown=function () {
   // Aktiviere das Zeichnen
   this.moveTo(this._xmouse, this._ymouse);
   this.zeichne=true;
}
this.onMouseUp=function () {
   // Deaktiviere das Zeichnen
   this.zeichne=false;
}

this.onMouseMove=function () {
   // Zeichne Linie bis zum Mauszeiger
   if (this.zeichne) {
      this.lineTo(this._xmouse, this._ymouse);
   }
}

Rheinwerk Design - Zum Seitenanfang

12.4.19 onPress  downtop

Das Ereignis onPress wird immer dann ausgelöst, wenn der Anwender auf den aktiven Bereich einer Instanz klickt (siehe Button und Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung).
       
gp  Syntax:
movieClipInstanz.onPress();
buttonInstanz.onPress();
gp  Beispiel:
mcMonster.onPress = function () {
onPress.fla
   // Mache unsichtbar
   this._visible = false;
};

Rheinwerk Design - Zum Seitenanfang

12.4.20 onRelease  downtop

Das Ereignis onRelease wird immer dann ausgelöst, wenn der Anwender auf den aktiven Bereich einer Instanz klickt und dann die Maustaste wieder loslässt (siehe Button und Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onRelease();
buttonInstanz.onRelease();
gp  Beispiel:
mcMonster.onRelease = function() {
onRelease.fla
   // Wechsle zu Website
   this.getURL("http://www.flashforum.de");
};

Rheinwerk Design - Zum Seitenanfang

12.4.21 onReleaseOutside  downtop

Das Ereignis onReleaseOutside wird immer dann ausgelöst, wenn der Anwender auf den aktiven Bereich einer Instanz klickt und die Maustaste außerhalb des aktiven Bereichs wieder loslässt (siehe Button und Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onReleaseOutside();
buttonInstanz.onReleaseOutside();
gp  Beispiel:
mcMonster.onPress = function() {
onReleaseOutside.fla
   // Starte Drag and Drop (Ziehen und Loslassen)
   this.startDrag();
};
mcMonster.onRelease = function() {
   // Stoppe Drag and Drop
   this.stopDrag();
};
// Weise onReleaseOutside die gleiche Methode zu
 wie onRelease, damit auch bei schnellen Mausbewegungen
 das Ziehen beendet wird
mcMonster.onReleaseOutside = mcMonster.onRelease;

Rheinwerk Design - Zum Seitenanfang

12.4.22 onRollOut  downtop

Das Ereignis onRollOut wird immer dann ausgelöst, wenn der Anwender den Mauszeiger aus dem aktiven Bereich einer Instanz hinausbewegt (siehe Button und Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onRollOut();
buttonInstanz.onRollOut();
gp  Beispiel:
mcMonster.onRollOut = function() {
onRollOut.fla
   // Mache transparent
   this._alpha = 10;
};

Rheinwerk Design - Zum Seitenanfang

12.4.23 onRollOver  downtop

Das Ereignis onRollOver wird immer dann ausgelöst, wenn der Anwender den Mauszeiger in den aktiven Bereich einer Instanz bewegt (siehe Button und Movieclip).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onRollOver();
buttonInstanz.onOllOver();
gp  Beispiel:
mcMonster.onRollOver = function() {
onRollOver.fla
   // Mache opak
   this._alpha = 100;
};
mcMonster.onRollOut = function() {
   // Mache transparent
   this._alpha = 10;
};

Rheinwerk Design - Zum Seitenanfang

12.4.24 onScroller  downtop

Das Ereignis onScroller wird immer dann ausgelöst, wenn der Inhalt eines Textfeldes horizontal oder vertikal verschoben (gescrollt) wird (siehe Textfield, Seite 653).

gp  Bemerkung:
    Diese Ereignismethode steht für Textfield-Instanzen seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
textfieldInstanz.onScroller();
textfieldInstanz.onScroller(target);
gp  Parameter:
    target: Dieser Parameter beinhaltet eine Referenz auf das Objekt, das angewählt wurde.
       
gp  Beispiel:
meinTextfeld.onScroller=function () {
onScroller.fla
   trace("Der Inhalt des Textfeldes wurde bewegt.");
}
// oder mit Parameter
meinTextfeld.onScroller=function (target) {
   trace("Der Inhalt des Textfeldes " + target + " wurde bewegt.");
}

Rheinwerk Design - Zum Seitenanfang

12.4.25 onSelect  downtop

Das Ereignis onSelect wird immer dann ausgelöst, wenn der Anwender eine ContextMenu-Instanz oder eine ContextMenuItem-Instanz wählt.

gp  Bemerkung:
    Diese Ereignismethode steht für ContextMenus und ContextMenuItems seit dem Flash Player 7 zur Verfügung.
       
gp  Syntax:
contextMenuInstanz.onSelect(item, menuItem);
contextMenuItemInstanz.onSelect(item, menuItem);
gp  Parameter:
    item: Dieser Parameter beinhaltet eine Referenz auf das Objekt, das mit der rechten Maustaste angewählt wurde.
       
    menuItem: Dieser Parameter beinhaltet eine Referenz auf den Menüeintrag im Kontextmenü, der angewählt wurde.
       

Rheinwerk Design - Zum Seitenanfang

12.4.26 onSetFocus  downtop

Das Ereignis onSetFocus wird immer dann ausgelöst, wenn eine Instanz den Fokus erhält. Dies können Sie zum Beispiel für Formularüberprüfungen verwenden (siehe Button, Movieclip und Textfield).

gp  Bemerkung:
    Diese Ereignismethode steht für Button-, Movieclip- und Textfield-Instanzen seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onSetFocus(alterFokus);
buttonInstanz.onSetFocus(alterFokus);
textfieldInstanz.onSetFocus(alterFokus);
gp  Parameter:
    alterFokus: Dieser Parameter beinhaltet einen Zeiger auf die Instanz mit dem vorhergehenden Fokus. Besaß im Vorfeld keine andere Instanz den Fokus, so ist der Wert null.
       
gp  Beispiel:
meinTextfeld1.onSetFocus = function(alterFokus) {
onSetFocus.fla
   trace("Textfeld hat den Fokus von "
    + alterFokus + " erhalten!");
};

Rheinwerk Design - Zum Seitenanfang

12.4.27 onSoundComplete  downtop

Das Ereignis onSoundComplete wird immer dann ausgelöst, wenn ein Sound komplett abgespielt ist. Dies können Sie zum Beispiel für die Synchronisation von Geräuschen verwenden (siehe Sound, Seite 632).

gp  Bemerkung:
    Diese Ereignismethode steht für Sound-Instanzen seit dem Flash Player 6 zur Verfügung.
       
Hinweis
    onSoundComplete ist eine Methode, die Flash unabhängig von der Bildrate aufruft. Dennoch hängt die Abarbeitungsgeschwindigkeit von der Bildrate ab, was eine genaue Synchronisation von Geräuschen enorm schwierig gestaltet.
       
gp  Syntax:
soundInstanz.onSoundComplete();
gp  Beispiel:
meinSound = new Sound();
onSoundComplete.fla
meinSound.attachSound("soundSymbol");
meinSound.onSoundComplete = function() {
   this.start();
};
meinSound.start();

Rheinwerk Design - Zum Seitenanfang

12.4.28 onStatus  downtop

Das Ereignis onStatus wird immer dann ausgelöst, wenn sich der Status einer Instanz verändert (siehe Camera, LocalConnection, Microphone, NetConnection, NetStream, SharedObject und System in der Kurzreferenz).

gp  Bemerkung:
    Diese Ereignismethode steht für Camera-, LocalConnection-, Microphone-, NetConnection-, NetStream-, SharedObject und System-Instanzen seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
cameraInstanz.onStatus(info);
localConnectionInstanz.onStatus(info);
microphoneInstanz.onStatus(info);
netConnectionInstanz.onStatus(info);
netStreamInstanz.onStatus(info);
sharedObjectInstanz.onStatus(info);
System.onStatus(info);
gp  Parameter:
    info: Dieser Parameter beinhaltet ein Objekt mit Eigenschaften, die den Status beschreiben.
       
gp  Beispiel:
meineKamera = Camera.get();
onStatus.fla
// Veränderungen im Zugriffsschutz innerhalb der
 Einstellungen lösen eine Statusänderung aus
meineKamera.onStatus = function(info) {
   trace("Status-Code: "+info.code);
   trace("Status-Level: "+info.level);
};
// Zeige Einstellungen des Flash Players
System.showSettings(0);

Rheinwerk Design - Zum Seitenanfang

12.4.29 onSync  downtop

Das Ereignis onSync wird immer dann ausgelöst, wenn sich der Inhalt eines entfernten gemeinsam genutzten Objektes (engl. remote shared object) verändert. Dies verwenden Sie zum Beispiel zur Synchronisation der lokalen Inhalte (Client) mit den entfernten Daten (Server) (siehe SharedObject, Seite 631).

gp  Bemerkung:
    Diese Ereignismethode steht für SharedObject-Instanzen seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
sharedObjectInstanz.onSync(daten);
gp  Parameter:
    daten: Dieser Parameter beinhaltet ein Array mit den Änderungen des serverseitigen SharedObjects.
       

Rheinwerk Design - Zum Seitenanfang

12.4.30 onUnload  downtop

Das Ereignis onUnload wird unmittelbar im nächsten Bild nach dem Entfernen einer Movieclip-Instanz ausgelöst (siehe Movieclip, Seite 625).

gp  Bemerkung:
    Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onUnload();
gp  Beispiel:
// Erzeuge Instanz
onUnload.fla
_root.attachMovie("monster", "mcMonster", 1);
// Positioniere Instanz
mcMonster._x = Math.random()*150+200;
mcMonster._y = Math.random()*100+50;
// Entferne bei Mausklick
mcMonster.onPress = function() {
   this.removeMovieClip();
};
// Erhöhe Punktzahl nach dem Entfernen der Instanz
mcMonster.onUnload = function() {
   trace("Treffer!");
   _root.punkte = _root.punkte+10;
};

Rheinwerk Design - Zum Seitenanfang

12.4.31 onUpdate  downtop

Das Ereignis onUpdate wird immer dann in einer Live-Vorschau für eine Komponente ausgelöst, wenn sich Parameter der Komponente verändern (siehe »Komponenten«, Seite 426).

gp  Bemerkung:
    Diese Ereignismethode steht in der Entwicklungsumgebung innerhalb einer Live-Vorschau für Komponenten (Movieclip) seit dem Flash Player 6 zur Verfügung.
       
gp  Syntax:
movieClipInstanz.onUpdate();

Rheinwerk Design - Zum Seitenanfang

12.4.32 onXML  toptop

Das Ereignis onXML wird immer dann ausgelöst, wenn neue Daten über eine Socket-Verbindung empfangen werden (siehe XMLSocket, Seite 641).

gp  Bemerkung:
    Diese Ereignismethode steht für XMLSocket-Instanzen seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
xmlSocketInstanz.onXML(daten);
gp  Parameter:
    daten: Dieser Parameter beinhaltet das empfangene XML-Objekt.
       
 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern