AS3-Tutorium: Flash: Butterfly 06 external code: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
| Zeile 16: | Zeile 16: | ||
* In der Bühne: Doppelklick auf das Icon vor dem Symbol <code>ButterflyMovie</code> → Die Definition des Symbols wird in der Bühne geöffnet. | * In der Bühne: Doppelklick auf das Icon vor dem Symbol <code>ButterflyMovie</code> → Die Definition des Symbols wird in der Bühne geöffnet. | ||
* In der Bühne: Rechtsklick Icon vor dem Symbol <code>ButterflyMovie</code> → <code>Eigenschaften</code> → <code>Erweitert</code> aufklappen → Haken vor <code>Export für ActionScript</code>, kein Haken vor <code>Export in Bild 1</code>, Klasse: <code>ButterflyMovie</code> → <code>OK</code> → <code>OK</code> | * In der Bühne: Rechtsklick Icon vor dem Symbol <code>ButterflyMovie</code> → <code>Eigenschaften</code> → <code>Erweitert</code> aufklappen → Haken vor <code>Export für ActionScript</code>, kein Haken vor <code>Export in Bild 1</code>, Klasse: <code>ButterflyMovie</code> → <code>OK</code> → <code>OK</code> | ||
* <code>Datei</code> → <code>Neu</code> → <code>ActionScript 3.0-Klasse</code> → <code>OK</code> -> Klassenname: <code>ButterflyMovie</code> | * <code>Datei</code> → <code>Neu</code> → <code>ActionScript 3.0-Klasse</code> (CS5) bzw. <code>ActionScript-Datei</code> (CS4 und früher) → <code>OK</code> -> Klassenname: <code>ButterflyMovie</code> | ||
* <code>Datei</code> → <code>Datei speichern unter</code> → <code>ButterflyMovie.as</code> (im selben Ordner wie die zugehörige <code>fla</code>-Datei.) | * <code>Datei</code> → <code>Datei speichern unter</code> → <code>ButterflyMovie.as</code> (im selben Ordner wie die zugehörige <code>fla</code>-Datei.) | ||
Version vom 26. Oktober 2010, 09:39 Uhr
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
Verbesserung der vierten Version des Schmetterling-Movies
In AS3-Tutorium: Flash: Butterfly 05 external code wurde der Code aus der Hauptzeitleiste in eine Klasse ausgelagert. Nun soll auch noch der Code vom Schmetterlings-Movie so weit wie möglich ausgelagert werden (ohne das Verhalten des Filmes zu ändern.)
<swf width="367" height="267">http://glossar.hs-augsburg.de/beispiel/tutorium/flash_cs5/butterfly/butterfly_06_external_code_2/butterfly_06_external_code_2.swf</swf> Musterlösung: butterfly_06_external_code_2.swf
Der Code des Schmetterlingsmovies wird ausgelagert
Achtung: Die scripts-Ebene des Butterfly-Movies wird — im Gegensatz zur scripts-Ebene des Main-Movies — nicht gelöscht.
Der ActionScript-Code wird allerdings deutlich vereinfacht: In einem Frame steht zum Schluss höchstens ein Methodenaufruf (siehe weiter unten).
- In der Bühne: Doppelklick auf das Icon vor dem Symbol
ButterflyMovie→ Die Definition des Symbols wird in der Bühne geöffnet. - In der Bühne: Rechtsklick Icon vor dem Symbol
ButterflyMovie→Eigenschaften→Erweitertaufklappen → Haken vorExport für ActionScript, kein Haken vorExport in Bild 1, Klasse:ButterflyMovie→OK→OK Datei→Neu→ActionScript 3.0-Klasse(CS5) bzw.ActionScript-Datei(CS4 und früher) →OK-> Klassenname:ButterflyMovieDatei→Datei speichern unter→ButterflyMovie.as(im selben Ordner wie die zugehörigefla-Datei.)
In die Datei ButterflyMovie.as wird folgender Code eingefügt:
package
{
import flash.display.MovieClip;
public class ButterflyMovie extends MovieClip
{
/////////////////////////////////////////////////////////////////////////////
// Attributes
/////////////////////////////////////////////////////////////////////////////
public var roundsToFly: int = 0;
/////////////////////////////////////////////////////////////////////////////
// Constructor
/////////////////////////////////////////////////////////////////////////////
public function ButterflyMovie()
{
stop();
}
/////////////////////////////////////////////////////////////////////////////
// Methods called from within the timeline
/////////////////////////////////////////////////////////////////////////////
public function testNumberOfRounds(): void
{
if (roundsToFly == 0)
gotoAndPlay("lbEnd");
}
public function decrementNumberOfRounds(): void
{
roundsToFly--;
// if (roundsToFly > 0)
gotoAndPlay("lbStart");
}
/////////////////////////////////////////////////////////////////////////////
// End of class
/////////////////////////////////////////////////////////////////////////////
}
}
Die öffentlich zugängliche Zustandasvariable roundsToFly
wurde in die Klasse verlagert. Außerdem wurden zwei Methoden definiert, die den
Test-Code aus der Zeitleiste des Butterfly-Movies enthalten (wobei die zweite
If-Bedingung überflüssig ist und daher auskommentiert wurde).
Der stop-Befehle aus dem ersten Frame wurde in den Konstruktor ausgelagert.
Damit kann der Code in der Zeitleiste auf drei simple Methodenaufrufe reduziert werden:
- Frame 1
- kein Code mehr
- Frame 2
testNumberOfRounds();- Frame 150
decrementNumberOfRounds();- Frame 220
stop();
Quellen
- Kowarschick, W.: Multimedia-Programmierung
- butterfly_06_external_code_2 (Flash CS5)
- butterfly_06_external_code_2 (Flash CS4)
- SVN-Repository (Flash CS5)
- SVN-Repository (Flash CS4)
