Know-how für Kreative.

Inhaltsverzeichnis
Vorwort
1 Flash für ActionScript
2 ActionScript in Flash
3 Flash Pro für ActionScript
4 Grundlagen der Programmierung
5 Einfache Filmsteuerung
6 Bildschirme und Präsentationen
7 Drucken und das Kontextmenü
8 Textfelder
9 Tasten
10 Datum und Zeit
11 Rechnen
12 Farbe wechseln und Drag
13 Zeichnen und Zufall
14 Von Mäusen und Duplikaten
15 Kollisionstest
16 Sound
17 Video
18 Externe Filme
19 Vorladen und Player erkennen
20 Formulare und UI-Komponenten
21 Komponenten anpassen
22 Formulare versenden
23 Warenkorb
24 Ausblick auf ActionScript 3
Stichwort
Download: - ZIP, ca. 14,4 MB
Ihre Meinung?
<< zurück | Galileo Design / <openbook> /Einstieg in ActionScript | vor >>
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler Aktuell zu Flash 8
Einstieg in ActionScript brosch., mit CD und QuickFinder und Referenz 416 S., 24,90 Euro Galileo Design ISBN 978-3-89842-774-6 |
| 11 Rechnen
|  | 11.1 Einfache Rechenhilfen
|  | 11.2 Bögen und Trigonometrie
|  | 11.3 Zufall und Runden
## 11.2 Bögen und Trigonometrie Nun begegnen Sie einem Teilgebiet der Mathematik, das viele Schüler nicht besonders gerne mögen: der Geometrie. Bögen, Winkel, Sinus und Kosinus gibt es auch in ActionScript. Und dort haben sie einen großen praktischen Nutzen: Bewegungen lassen sich mit ihnen natürlicher, Animationen spannender gestalten. Bevor Sie aber mit Sinus, Kosinus und Tangens arbeiten, erklären wir Ihnen im nächsten Abschnitt einige wichtige Begriffe, die wesentlich zum Grundverständnis beitragen. Anschließend zeigen wir Ihnen anhand eines einfachen Beispiels, wie Sie mit den trigonometrischen Methoden der Math-Klasse umgehen. ##### Trigonometrie – am Einheitskreis erklärt Der Einheitskreis ist ein Kreis mit dem Radius 1. Daraus ergibt sich der Durchmesser von 2 und ein Umfang von 2 * . ist die schon erwähnte Kreiszahl mit dem ungefähren Wert 3,14; sie ist als Math.PI auch in der Liste aller Konstanten der Math-Klasse enthalten. Legen Sie ein Koordinatensystem durch den Einheitskreis, erhalten Sie zwei Achsen: Die Horizontale x und die Vertikale y. Der Ursprung liegt beim Einheitskreis immer im Kreismittelpunkt. Wenn Sie nun einen Winkel zwischen den Achsen einzeichnen, beispielsweise 60°, hat die Länge der Gerade den Wert 1 vom Kreismittelpunkt bis zum Schnittpunkt mit dem Kreis. Hier klicken, um das Bild zu vergrößern Abbildung 11.2 Der Einheitskreis zeigt Sinus und Kosinus. Die Gerade selbst ist in der Sprache der Dreiecke die Hypotenuse. Der Sinus ist der Wert aus der Gegenkathete geteilt durch die Hypotenuse. Da die Hypotenuse den Wert 1 hat, nimmt der Sinus im Einheitskreis den Wert der Gegenkathete an. Diese entspricht in unserem System der y-Achse. Der Sinus von 60° ist also 0,866. Der Kosinus ist definiert als Ankathete geteilt durch die Hypotenuse. Die Ankathete entspricht der y-Achse und besteht aus einem deutlich kürzeren Streckenabschnitt. Der Kosinus von 60° beträgt nur 0,5. Zum Schluss betrachten wir noch den Tangens im Einheitskreis. Er hat den Wert Gegenkathete geteilt durch die Ankathete. Der Tangens von 60° ist also 0,866 / 0,5; das ergibt 1.732. Wenn Sie sich spezielle Winkel einprägen, können Sie Sinus und Kosinus bei anderen Winkeln fast schon schätzen. Wichtige Beispiele sind: Bei einem Winkel von 0 ist der Sinus 0, die Gegenkathete existiert nicht, der Kosinus beträgt 1, die Hypotenuse liegt auf der Ankathete. Bei einem Winkel von 90° beträgt der Sinus 1, die Hypotenuse ist identisch mit der Gegenkathete, der Kosinus hat den Wert 0. Das waren Sinus, Kosinus und Tangens im gewohnten Koordinatensystem. Wenn Sie das übliche Flash-Koordinatensystem mit Ursprung links oben zu Grunde legen, spiegelt sich die letzte Abbildung einfach in der nächsten. Ansonsten gibt es aber keine Unterschiede. Hier klicken, um das Bild zu vergrößern Abbildung 11.3 Der Einheitskreis mit dem typischen Flash- Koordinatensystem
Rechenfehler
Flash speichert die Konstanten wie beispielsweise PI nicht absolut exakt bzw. bis zu den aktuell wirklich bekannten Stellen. Dadurch werden die Rechenergebnisse, besonders bei den hinteren Stellen, etwas ungenau. Wenn Sie beispielsweise 90° in das Bogenmaß umwandeln und dann den Kosinus berechnen, erhalten Sie eine Zahl, die fast 0 ist, aber eben nicht genau 0.
Oftmals wird auch die Wertentwicklung des Sinus oder Kosinus über verschiedene Winkel abgebildet. Daraus ergeben sich die berühmten Sinus- oder Kosinuskurven. Für die Animation ist dies durchaus wichtig, da Sinus und Kosinus eine wellenförmige Bewegung liefern können. Hier klicken, um das Bild zu vergrößern Abbildung 11.4 Der Verlauf des Sinus – die y-Achse zeigt den Wert, die x-Achse den Winkel. ##### Trigonometrie in ActionScript ActionScript bietet für alle bekannten trigonometrischen Funktionen eine Methode des Math-Objekts: sin(Winkel) für den Sinus, cos(Winkel) für den Kosinus und tan(Winkel) für den Tangens. Der Winkel wird dabei jeweils im Bogenmaß angegeben. Die Umwandlung eines Winkels in das Bogenmaß ist sehr einfach: Das Bogenmaß ist die Länge des Kreisbogens, den der Winkel aus dem Einheitskreis herausschneidet. So wandeln Sie einen Winkel in ein Bogenmaß um:
    var bm_num:Number = Math.PI * Winkel / 180;
Und so klappt die Rückverwandlung vom Bogenmaß in einen Winkel: Hier klicken, um das Bild zu vergrößern Abbildung 11.5 Das Bogenmaß ist die Länge des Kreisbogens, geschnitten aus dem Einheitskreis.
    var w_num:Number = 180 * Bogenmaß / Math.PI;
Das folgende Beispiel zeigt, wie Sie den Sinus einsetzen können, um eine einfache Pendelbewegung zu realisieren. Wichtig ist der Registrierungspunkt des MovieClips. Er bildet den Drehpunkt der Pendelbewegung. Die Ausgangsdatei mit dem MovieClip ist schaukelstuhl.fla auf der CD-ROM im Ordner FlashMX2004 bzw. FlashMX. Hier klicken, um das Bild zu vergrößern Abbildung 11.6 Im Schaukelstuhl schläft es sich bequem. Ziel ist, den Kopf und den Körper mit Schaukelstuhl in verschiedenen Geschwindigkeiten pendeln zu lassen. ##### Schritt für Schritt: Schaukelstuhl mit Pendelbewegung Dieses Beispiel setzen Sie wieder komplett mit Ereignisprozeduren um. Der Code landet im ersten Schlüsselbild des Hauptfilms. Zuerst definieren Sie eine Variable, die die Änderung aufnimmt:
    var aenderung_num:Number = 0;
Die Änderung ist die Grundlage der Pendelbewegung. Anschließend verwenden Sie onEnterFrame, um ein immer wiederkehrendes Ereignis zu realisieren. Das erste Ereignis ist für den MovieClip des Stuhls zuständig:
    _root.stuhl_mc.onEnterFrame = function() {
       _root.stuhl_mc._rotation = rotieren(1, 15);
    };
    Das zweite Ereignis dient für den Kopf:
    _root.stuhl_mc.kopf_mc.onEnterFrame = function() {
       _root.stuhl_mc.kopf_mc._rotation = rotieren(1, 20);
    };
Der Code in den zwei Ereignisprozeduren wird ständig ausgeführt – und zwar in der Bildrate (Geschwindigkeit) des gesamten Films. In unserem Beispiel weist der Code dem MovieClip des Stuhls beziehungsweise des Kopfes einen neuen Rotationswinkel zu (Eigenschaft _rotation). Diesen Winkel berechnet die Funktion rotieren(). Sie erhält zwei Parameter: Wie schnell das Pendel sich bewegen soll und bis zu welchem Winkel es maximal ausschlägt. Übrigens, alternativ zu onEnterFrame können Sie auch setInterval() verwenden. Die Bewegung führen Sie in der Funktion rotieren() durch. Dort berechnen Sie die Rotation und liefern sie zurück:
    function rotieren(geschwindigkeit_num:Number,
    ausschlag_num:Number):Number {
       var rotation_num:Number = Math.sin(geschwindigkeit_
       num * aenderung_num) * ausschlag_num;
       aenderung_num += 0.1;
       return rotation_num;
    }
Hier kommt der Sinus zum Einsatz, um die Rotation regelmäßig zu gestalten. Der Sinus erhält als Wert die Geschwindigkeit multipliziert mit der Änderung. Das heißt, der Sinuswert ist bei jedem Aufruf der Funktion anders, da die Änderung (aenderung_num) nach jedem Durchgang um 0,1 erhöht wird. Der Sinus liefert Ergebnisse zwischen –1 (Pendelbewegung nach links) und +1 (Pendelbewegung nach rechts). Die Multiplikation dieser Ergebnisse mit dem maximalen Winkel ergibt den Rotationswinkel des MovieClips. Hier klicken, um das Bild zu vergrößern Hier klicken, um das Bild zu vergrößern Hier klicken, um das Bild zu vergrößern Abbildung 11.7 Kopf und Schaukelstuhl schaukeln in trauter Eintracht. Die fertige Datei schaukelstuhl_AS2.fla finden Sie im Ordner Flash8 bzw. FlashMX2004. Die Flash MX-Variante heißt schaukelstuhl_AS1.fla und liegt im Ordner FlashMX. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
ActionScript 3 Das Praxisbuch bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Adobe Flash CS3
| Flash fast forward
| Dreamweaver CS3
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2006
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.

[Galileo Design]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de