fly fly sweet Butterfly

Thema:
fly fly sweet Butterfly
Description:
Einen Schmetterling per Achtionscript über den Bildschirm flattern lassen und bei Berührung mit der Maus ihn zur Richtungsänderung veranlassen
Keywords:
Flash, Actionscript, Interaction
Author:
Matthias Walter
Date:
20.12.2001
Doc-ID:
 
URL:
http://www.flashworker.de/tutorial/55/002.html
Version:
1.0
Änderungen:
 
Anforderungen:
Flash 5
Vorkenntnisse:
Flash Grundkenntnisse
Actionscript Grundkenntnisse
Download:
PC: "butterfly.zip",
MAC: ""

Einleitung
  Was bringt dieses Tutorial?

Vorbereitungen
  Von den Rohdaten zum flattern
  Interaktion vorbereiten

Dynamik mit Actionscript
 Der Knackpunkt
  weiterführende Informationen

Dynamik mit Actionscript

Der Knackpunkt

Nachdem wir alle diese Vorbereitungen getroffen haben, kommen wir zum eigentlichen Knackpunkt.
Zunächst gehen wir auf die Hauptbühne und platzieren dort unseren MC "mc_schmetterling" irgendwo.

Da man auf einen MC keine Mausaktion legen kann, hatten wir ja einen "leeren" Button im MC "mc_schmetterling" gelegt. Um die dortigen Funktionen nun aufzurufen, nehmen wir die Methoden "load" zu Hilfe.

Mit dem ActionScript Editor erstellen wir folgenden Code direkt auf dem MC:

onClipEvent (load)
{
	changed=1;
}
onClipEvent (enterFrame) 
{
	if(changed)
{ willi(); changed=0; } if (_x<0 || _x>600) xspeed*=-1; if (_y<0 || _y>230) yspeed*=-1; _rotation = winkel(); _x += xspeed; _y += yspeed; }

Zur Erleuterung:
Mit Hilfe von onClipEvent(load) wird die Variable changed, sobald der Film geladen wird auf 1(wahr) gesetzt.

Die Anweisungen der Funktion onClipEvent(enterFrame) werden dann aufgerufen, sobald das Frame, in dem diese Funktion steht, abgespielt wird.
In diesem Fall wird überprüft, ob die Variable changed wahr = 1 ist. Sollte dies der Fall sein, wird die Funktion willi aufgerufen und die Variable changed auf 0 gesetzt.

Wir erinnern uns: Die Funktion willi gibt die zufälligen Geschwindigkeiten in x- und y-Richtung, sowie den zufälligen Winkel, mit dem sich unser Schmetterling von Rand unseres Film wieder entfernt zurück.

Doch woran erkennt unser Schmetterling, ob er den Rand des Flash-Films erreicht hat?
Ganz einfach. Wir fragen mit Hilfe zweier if-Schleifen die jeweiligen Koordinaten unseres Schmetterlings ab. Sollten diese kleiner als 0 oder größer als bestimmte Werte (im Beispiel ist mein Film 600 Pixel breit und 230 Pixel hoch) sein, wird die Funktion rotation angewand mit dem Wert der durch die Funktion winkel errechnet wurde.

_rotation bezieht sich auf den MC auf dem diese Funktion gelegt ist. Mit = winkel() wird der Wert aus der Winkelberechnung übergeben.

Genauso geschieht dies mit der Geschwindigkeit in x- und y-Richtung. Die zufälligen Werte aus der Funktion willi werden auf den MC angewandt.

Jetzt noch schnell testen und siehe da, unser Schmetterling beginnt zu fliegen.





weiterführende Informationen

Solltet ihr noch nicht ganz so in der ActionScript-Programmierung fortgeschritten sein, dann empfehle ich euch zunächst die Actionscript-Referenz innerhalb von Flash zu Rate zu ziehen, oder ihr schaut in eines der vielen Bücher die es zu diesem Thema mitlerweile auf dem Markt gibt.

Natürlich könnt ihr mir auch eine email schreiben und ich werde versuchen euch so schnell als möglich zu helfen.

Vielen Dank und viel Spaß beim probieren.

e-laborate - creativity signs your future

Matthias Walter




Zurück