AS3-Tutorium: Flash: Butterfly 03 fixed number of rounds
Dieser Artikel ist veraltet und wird künftig evtl. entfernt.
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
Korrektheit: 4 (großteils überprüft) |
Umfang: 3 (einige wichtige Fakten fehlen) |
Quellenangaben: 5 (vollständig vorhanden) |
Quellenarten: 5 (ausgezeichnet) |
Konformität: 4 (sehr gut) |
AS3-Tutorium: Butterfly: Flash | Flex
Flash: Übersicht | Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5 | Teil 6 | Teil 7a | Teil 7b | Teil 7c | Teil 8 | Teil 9 | Teil 10
Schmetterling fliegt eine vorgegebene Anzahl von Runden
Im dritten Teil des Tutoriums wird der endlos herumfliegende Schmetterling etwas gezügelt. Anstelle von unzähligen Runden fliegt er nur eine fest vorgegeben Antahl von Runden. Dies wird mit Hilfe von Actionscript bewerkstelligt.
<swf width="367" height="267">http://glossar.hs-augsburg.de/beispiel/tutorium/flash_cs5/butterfly/butterfly_03_fixed_number_of_rounds_multi/Butterfly03MultiFlash11.swf</swf>
Erweiterte Musterlösung (Flash CS5)
(SVN-Repository)
Erweiterte Musterlösung (Flash CS4) (SVN-Repository)
ActionScript 3 (ab Flash 9) und ActionScript 2 (bis Flash 8)
<swf width="183" height="133">http://glossar.hs-augsburg.de/beispiel/tutorium/flash_cs5/butterfly/butterfly_03_fixed_number_of_rounds/Butterfly03Flash11.swf</swf> Musterlösung (Flash CS5) (SVN-Repository)
Musterlösung (Flash CS4) (SVN-Repository)
- Die Datei
Butterfly02Flash.fla
unter dem NamenButterfly03Flash.fla
speichern und mit dieser Datei weiterarbeiten. - Das Symbol
ButterflyMovie
in der Bibliothek öffnen (Doppelklick auf Icon vor dem Symbolnamen). - Oberhalb der Ebene
butterfly
(und gegebenenfalls der Pfad-Ebene) zwei Ebenen anlegen:scripts
labels
- In der Zeitleiste der Ebene
labels
: Ein Schlüsselbild bei Frame 2 erzeugen. - Im Eigenschafts-Inspektor:
Name
(Bildbezeichnung, label name) →lbStart
. - In der Zeitleiste der Ebene
scripts
: Ein Schlüsselbild bei Frame 150 erzeugen. - In der Zeitleiste der Ebene
scripts
: Das Schlüsselbild bei Frame 1 selektieren und Actionscript-Editor öffnen (TasteF9
). - Code einfügen:
var roundsToFly: int = 2;
- In der Zeitleiste der Ebene
scripts
: Das Schlüsselbild bei Frame 150 selektieren. - Code einfügen:
roundsToFly--;
if (roundsToFly > 0)
gotoAndPlay("lbStart");
else
stop();
Im ersten Frame des MovieClips eine Variable zu zählen der Anzahl der noch zu fliegenden Runden
definert (roundsToFly;
) und initialisiert,
auf die in jedem Frame des Filmes zugrgriffen werden kann.
Im 150. Frame wird die Anzahl der zu fliegenden Runden um ein vermindert.
Anschlißend wird überprüft, ob noch eine weitere Runde gelogen werden muss.
Falls dies der Fall ist wird zum zweiten Frame (das den Label lbStart
erhalten hat) zurückgesprungen, um eine neue Flugrunde zu starten. Zum ersten Label
darf nicht zurückgesprungen werden, da sonst der Rundenzähler wieder auf den Wert
2
gesetzt werden würde.
Probleme der Implementierung
Die vorliegende Implementierung hat einen gravierenden Nachteil:
- Die Anzahl der zu fliegenden Runden ist fest im Code verdrahtet:
var roundsToFly: int = 2;
Grundsätzlich sollten keine konstanten Werte direkt in den Code eingebaut werden
(vgl. Programmierprinzipien → Konfigurierbarkeit).
Quellen
- Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)
- Musterlösung (Flash CS5)
- Musterlösung (Flash CS4)
- Erweiterte Musterlösung (Flash CS4)
- Erweiterte Musterlösung (Flash CS5)
SVN-Repository-Verweise
- Musterlösung (Flash CS5)
- Musterlösung (Flash CS4)
- Erweiterte Musterlösung (Flash CS4)
- Erweiterte Musterlösung (Flash CS5)