Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
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
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler
Aktuell zu Flash 8
Buch: Einstieg in ActionScript

Einstieg in ActionScript
brosch., mit CD und QuickFinder und Referenz
416 S., 24,90 Euro
Rheinwerk Design
ISBN 978-3-89842-774-6
Pfeil 13 Zeichnen und Zufall
  Pfeil 13.1 Zeichnen
  Pfeil 13.2 Tiefe
  Pfeil 13.3 Fortlaufende Animation mit setInterval oder onEnterFrame?
  Pfeil 13.4 Zufall und Animation
  Pfeil 13.5 Alles in einem


Rheinwerk Computing - Zum Seitenanfang

13.4 Zufall und Animation  topZur vorigen Überschrift

Den Zufall haben Sie bereits in Kapitel 11, »Rechnen«, kennen gelernt. Dort halfen Zufallszahlen, ein kleines Kartenspiel zu realisieren. Aber auch zum Animieren ist der Zufall zu gebrauchen: Jeden Zahlenwert, den Sie in einer Animation einsetzen, können Sie von einer Zufallszahl produzieren lassen.

Möglich wäre beispielsweise, eine beliebige Koordinate als Zufallszahl festzulegen. Die folgende Zeile bestimmt die x-Koordinate als Zufallszahl zwischen 0 und 550:

posX_num = Math.floor(Math.random() * 551);

Aber nicht nur eine Koordinaten-Festlegung ist möglich, auch Bewegungsstärken, Deckkraft oder Drehungen lassen sich zufällig bestimmen. Oder wie wäre es mit einer zufällig ausgewählten Farbe? Der folgende Code legt eine Zufallszahl zwischen 0 und 255 fest, die einem bestimmten Farbwert entspricht:

var zr:Number = Math.floor(Math.random() * 256);

Schon haben Sie beispielsweise den roten Farbanteil einer RGB-Farbe. Dieser Farbwert muss nun in einen hexadezimalen Wert umgewandelt werden. Zuerst teilen Sie den Farbwert durch 16 und runden ihn ab:

var r1 = Math.floor(zr / 16);

Als Ergebnis erhalten Sie die erste hexadezimale Ziffer. Anschließend verwenden Sie den Rest der Zahl als zweite hexadezimale Ziffer:

var r2 = zr % 16;

Dies ist eines der wenigen Einsatzgebiete für den Modulo (%). Sie haben nun die beiden Stellen für die hexadezimalen Zahlen berechnet. Allerdings entsprechen die Zahlen von 10 bis 15 im hexadezimalen System den Buchstaben von A bis F. Deswegen müssen Sie diese Zahlen noch in den entsprechenden Buchstaben umwandeln:

var r = hexa(r1) + hexa(r2);

Fortgeschrittene Ideen

Die Umwandlung in hexadezimale Zahlen ließe sich noch weiter vereinfachen. Eine Idee besteht darin, statt einer switch-case-Anweisung einen Array mit Werten der Buchstaben zu verwenden. Eine andere, bei einer hexadezimalen Zahl die größer gleich 10 ist einfach 55 hinzuzuzählen und daraus direkt den ASCII-Wert des Buchstabens abzuleiten (Der ASCII-Wert 65 entspricht »A«). Dies geschieht mit der Methode fromCharCode(ASCII) der String-Klasse. Sie sehen, unterschiedliche Wege führen nach Rom …


Für die Umwandlung setzen Sie die Funktion hexa() ein. Sie prüft mit einer einfachen switch-case-Fallunterscheidung, welche zweistelligen Zahlen vorkommen, wandelt sie um und liefert das Ergebnis als String:

function hexa(x:Number):String {
   var erg_str:String;
   switch (x) {
   case 10 :
      erg_str = "A";
      break;
   case 11 :
      erg_str = "B";
      break;
   case 12 :
      erg_str = "C";
      break;
   case 13 :
      erg_str = "D";
      break;
   case 14 :
      erg_str = "E";
      break;
   case 15 :
      erg_str = "F";
      break;
   default :
      erg_str = x.toString();
   }
   return erg_str;
}

Sie sehen, bei Farben gestaltet sich eine zufällige Auswahl schwieriger als bei Koordinaten. Trotzdem ist der Zufall ein faszinierendes Instrument. Wie Sie ihn einsetzen und mit den Zeichnungsmethoden oder fortlaufender Animation verknüpfen, zeigt der nächste Abschnitt.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 3 – Das Praxisbuch
ActionScript 3
Das Praxisbuch

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 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.


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