12.4 Ereignismethoden
 
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
|
12.4.1 allowDomain
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
localConnectionInstanz.allowDomain(sendendeDomain);
12.4.2 allowInsecureDomain
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 7 zur Verfügung. |
|
|
|
|
Syntax: |
localConnectionInstanz.allowInsecureDomain(sendendeDomain);
12.4.3 onActivity
 
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)).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
cameraInstanz.onActivity(aktivität);
microphoneInstanz.onActivity(aktivität);
|
Parameter: |
|
|
aktivität: Dieser boolesche Parameter wird automatisch an die Ereignismethode übergeben und legt fest, ob Aktivität erkannt (true) oder beendet wurde (false). |
|
|
|
|
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);
12.4.4 onChanged
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
textfeldInstanz.onChanged();
|
Beispiel: |
meinTextfeld.onChanged=function () {
onChanged.fla
trace("meinTextfeld wurde verändert!");
}
12.4.5 onClose
 
Das Ereignis onClose wird immer dann ausgelöst, wenn ein Socket-Server die Verbindung zu einer XMLSocket-Instanz beendet (siehe XMLSocket, Seite 641).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
|
Syntax: |
xmlSocketInstanz.onChanged();
12.4.6 onConnect
 
Das Ereignis onConnect wird immer dann ausgelöst, wenn ein Verbindungsaufbau zu einem Socket-Server erfolgreich war oder fehlgeschlagen ist (siehe XMLSocket, Seite 641).
|
Bemerkung: |
|
|
Diese Ereignismethode steht seit dem Flash Player 5 zur Verfügung. |
|
|
|
|
Syntax: |
xmlSocketInstanz.onConnect(erfolgreich);
|
Parameter: |
|
|
erfolgreich: Ein boolescher Wert, der angibt, ob eine Socket-Verbindung erfolgreich hergestellt wurde (true) oder nicht (false). |
|
|
|
12.4.7 onData
 
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).
|
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. |
|
|
|
|
Syntax: |
movieClipInstanz.onData();
loadVars.onData(daten);
textFieldStyleSheetInstanz.onData(daten);
xmlInstanz.onData(daten);
xmlSocketInstanz.onData(daten);
|
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. |
|
|
|
|
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.
12.4.8 onDragOut
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht für Movieclips und Buttons seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
movieClipInstanz.onDragOut();
buttonInstanz.onDragOut();
|
Beispiel: |
meinMovieclip.onDragOut = function () {
// Vergrößere Instanz
this._xscale=this._xscale*1.1;
this._yscale=this._yscale*1.1;
};
12.4.9 onDragOver
 
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).
|
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. |
|
|
|
|
Syntax: |
movieClipInstanz.onDragOver();
buttonInstanz.onDragOver();
|
Beispiel: |
meinMovieclip.trackAsMenu = true;
onDragOver.fla
meinMovieclip.onDragOver = function() {
// Verkleinere Instanz
this._xscale = this._xscale/1.1;
this._yscale = this._yscale/1.1;
};
12.4.10 onEnterFrame
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
movieClipInstanz.onEnterFrame();
|
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;
};
12.4.11 onID3
 
Das Ereignis onID3 wird immer dann ausgelöst, wenn eine Sound-Instanz ID3-Informationen empfängt (siehe Sound, Seite 632).
|
Bemerkung: |
|
|
Diese Ereignismethode steht offiziell seit dem Flash Player 7 zur Verfügung. |
|
|
|
|
Syntax: |
soundInstanz.onID3();
12.4.12 onKeyDown
 
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.
|
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). |
|
|
|
|
Syntax: |
movieClipInstanz.onKeyDown();
buttonInstanz.onKeyDown();
|
Beispiel: |
mcMonster.focusEnabled = true;
onKeyDown.fla
mcMonster.onKeyDown = function() {
this._x = 500;
};
mcMonster.onEnterFrame = function() {
this._x = this._x/1.1;
Selection.setFocus(mcMonster);
};
12.4.13 onKeyUp
 
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.
|
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). |
|
|
|
|
Syntax: |
movieClipInstanz.onKeyUp();
buttonInstanz.onKeyUp();
|
Beispiel: |
mcMonster.focusEnabled = true;
onKeyUp.fla
mcMonster.onKeyUp = function() {
this._y = 400;
};
mcMonster.onEnterFrame = function() {
this._y = this._y/1.1;
Selection.setFocus(mcMonster);
};
12.4.14 onKillFocus
 
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).
|
Bemerkung: |
|
|
Diese Ereignismethode steht für Button-, Movieclip- und Textfield-Instanzen seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
movieClipInstanz.onKillFocus(neuerFokus);
buttonInstanz.onKillFocus(neuerFokus);
textfieldInstanz.onKillFocus(neuerFokus);
|
Parameter: |
|
|
neuerFokus: Dieser Parameter beinhaltet einen Zeiger auf die Instanz mit dem neuen Fokus. |
|
|
|
|
Beispiel: |
meinTextfeld1.onKillFocus=function (neuerFokus) {
onKillFocus.fla
trace("Sie haben den Fokus zu "
+ neuerFokus + " gewechselt!");
}
12.4.15 onLoad
 
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).
|
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. |
|
|
|
|
Syntax: |
movieClipInstanz.onLoad();
soundInstanz.onLoad();
xmlInstanz.onLoad(erfolgreich);
loadVarsInstanz.onLoad(erfolgreich);
textFieldStyleSheetInstanz.onLoad(erfolgreich);
|
Parameter: |
|
|
erfolgreich: Dieser Parameter wird automatisch an die Ereignismethode übergeben und beinhaltet bei einem erfolgreichen Ladevorgang den Wert true, bei einem fehlgeschlagenen Ladevorgang false. |
|
|
|
|
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);
12.4.16 onMouseDown
 
Das Ereignis onMouseDown wird immer dann ausgelöst, wenn der Anwender die Maustaste drückt (siehe Movieclip, Seite 625).
|
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. |
|
|
|
|
Syntax: |
movieClipInstanz.onMouseDown();
|
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);
}
12.4.17 onMouseMove
 
Das Ereignis onMouseMove wird immer dann ausgelöst, wenn der Anwender die Maus bewegt (siehe Movieclip, Seite 625).
|
Bemerkung: |
|
|
Diese Ereignismethode steht für Movieclips seit dem Flash Player 6 zur Verfügung. |
|
|
|
|
Syntax: |
movieClipInstanz.onMouseMove();
|
Beispiel: |
this.lineStyle(0, 0xFF0000, 100);
this.moveTo(this._xmous |