AS3-Tutorium: Flash: Butterfly 03 fixed number of rounds

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Version vom 14. September 2011, 13:44 Uhr von Kowa (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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)


  1. Die Datei Butterfly02Flash.fla unter dem Namen Butterfly03Flash.fla speichern und mit dieser Datei weiterarbeiten.
  2. Das Symbol ButterflyMovie in der Bibliothek öffnen (Doppelklick auf Icon vor dem Symbolnamen).
  3. Oberhalb der Ebene butterfly (und gegebenenfalls der Pfad-Ebene) zwei Ebenen anlegen:
    • scripts
    • labels
  4. In der Zeitleiste der Ebene labels: Ein Schlüsselbild bei Frame 2 erzeugen.
  5. Im Eigenschafts-Inspektor: Name (Bildbezeichnung, label name) → lbStart.
  6. In der Zeitleiste der Ebene scripts: Ein Schlüsselbild bei Frame 150 erzeugen.
  7. In der Zeitleiste der Ebene scripts: Das Schlüsselbild bei Frame 1 selektieren und Actionscript-Editor öffnen (Taste F9).
  8. Code einfügen:
    var roundsToFly: int = 2;
  9. In der Zeitleiste der Ebene scripts: Das Schlüsselbild bei Frame 150 selektieren.
  10. 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. ProgrammierprinzipienKonfigurierbarkeit).

Quellen

  1. Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)
  2. Musterlösung (Flash CS5)
  3. Musterlösung (Flash CS4)
  4. Erweiterte Musterlösung (Flash CS4)
  5. Erweiterte Musterlösung (Flash CS5)

SVN-Repository-Verweise


Dieser Artikel ist GlossarWiki-konform.