|
Vorwort
Der
Inhalt des Tutorials
Das LoadVars Objekt (PreLoader für
Textdateien)
Vorwort
![]()
Eine Vorraussetzung für Rich Internet Applications ist eine gute Dynamik, ohne
diese kommen wir kaum noch aus. Deswegen wurde in Flash MX auch ein Schwerpunkt
auf die Dynamik gesetzt.
Bislang war es nur möglich externe Variablen oder Flashmovies während der Laufzeit
in Flash reinzuladen (loadVariables,
loadMovie) oder halt die XML
Varianten. Mittlerweile gibt es da eine ganze Reihe weiterer Möglichkeiten.
Mit der MX Technologie ist es ab sofort möglich JPEG Bilder & Sounds auf dynamische
Weise in Flash reinzuladen. Dies ist zum Beispiel sinnvoll bei größeren Datenmengen
und wenn man diese gezielt laden möchte, um längere Ladezeiten zu vermeiden.
Darüberhinauß ist es nun möglich über das LoadVars Objekt Textdaten noch besser
zu laden - zum Beispiel in Hinsicht auf einen PreLoader.
Sounds dynamisch laden
Vorneweg
muss gesagt sein, dass lediglich externe MP3 Dateien in Flash reingeladen werden
können.
Um dies zu realisieren, muss als erstes mal ein neues Sound Objekt angelegt
werden.
snd = new Sound();
Jetzt kommt der MX Teil. Und zwar gibt es ab Flash MX folgende Methode:
Sound.loadSound("url", streaming);
URL ist logischerweiße der Pfad zur MP3 Datei. Der Parameter 'streaming'
gibt an,
ob es sich um einen Streaming- oder Ereignis-Sound handelt.
Ereignis-Sounds müssen erst vollständig runtergeladen werden um abgespielt
zu werden; Streaming-Sounds hingegen können schon während dem Laden
abgespielt werden (sobald der Dekomprimierungsalgorithmus vorhanden ist).
Wenn der parameter 'streaming' also den Booleschen Wert 'true' hat, handelt es sich um einen Streaming-Sound, bei 'false' um einen Ereignis-Sound.
Beispiel Aktion:
snd.loadSound("http://www.domain.de/song.mp3", true);
Zusätzlich sind noch zwei Ereignisprozeduren in MX hinzu gekommen, eine
davon ist für uns interessant:
Sound.onLoad = funktion'funktion' ist eine funktion, die aufgerufen werden soll, sobald ein Sound geladen wird.
Wer noch einen PreLoader basteln will, kann wie bei MovieClips die geladenen Bytes per getBytesLoaded und die gesamte Größe per getBytesTotal bestimmen.
Sobald die Datei geladen sind, können sie wie jeder andere Sound in Flash
mit dem Sound Objekt gesteuert werden.
(Nochmal als Hinweis: Dieses Tutorial soll nicht auf die Wiedergabe von Musik
eingehen und die neuen Befehle
für das Sound Objekt in Flash MX, sondern lediglich auf das dynamische
Laden!)
![]()
![]()
![]()
Bilder dynamisch laden
An
Grafikformaten können in Flash nur JPEGs während der Laufzeit importiert
werden.
Außerdem werden nur herkömmliche JPEGs, keine progressiven, unterstützt.
In Flash können diese Bilder per loadMovie und loadMovieNum geladen werden.
Als Beispiel
meinMovieclip.loadMovie("flashworker.jpg");
Hier würde das Bild 'flashworker.jpg' in die Instanz 'meinMovieclip' geladen
werden.
Dieser MovieClip kann natürlich wie ein normaler MovieClip verwendet werden
und kann
somit positioniert, skaliert usw. werden.
Auch hier sind demzufolge wieder getBytesLoaded
und getBytesTotal gültig,
mit denen man dann einen PreLoader für die Grafik bauen kann.
loadMovieNum lädt demzufolge
ein Bild in eine bestimmte Ebene.
![]()
![]()
![]()
Das LoadVars Objekt (PreLoader für Textdateien)
Bisher
war es ja nur möglich Variablen über loadVariables
und loadVariablesNum (XML mal
weggelassen)
zu laden. Das LoadVars ist ein ausgearbeites Objekt dazu.
Mit ihm wird es möglich Dateien zu laden und den Ladefortschritt anzuzeigen,
zum Beispiel. Wieder ist zu erwähnen, dass dieses
Tutorial nicht die Grundlagen eines PreLoader darlegen soll, sondern lediglich
die damit verbunden
Methoden im LoadVars Objekt - und alle weiteren die von Bedeutung für die
Dynamik sind.
Eine Datei wird eingeladen per
LoadVars.load(url);Diese Methode ähnelt der XML.load Methode.
Durch loadVariables war es ja
auch möglich Dateien zu laden und Daten in Form von Variablen weiterzugeben.
Dies ist auch wieder beim LoadVars Objekt so und dafür gibt es auch eine
eigene Methode:
LoadVars.send(url [,ziel, methode] )'url' ist natürlich der Pfad zur Datei. 'ziel' & 'methode' sind zusätzliche Parameter. Der Parameter 'ziel' gibt das Fenster im Frameset an, in dem die Antwort des Servers auf die Datenübermittlung ausgegeben werden soll.
Wer eine Kombination aus Senden und Empfangen haben will, sollte folgendes verwenden:
LoadVars.sendAndLoad(url, zielobjekt[,methode])Damit werden Daten dem Server übermittelt und die Antwort des Servers wird in das LoadVars-Objekt mit der Bezeichnung 'zielobjekt' geladen.
Wer die Menge der geladenen Daten abfragen möchte (und evtl. dazu einen PreLoader basteln möchte) kann wie gewohnt
LoadVars.getBytesLoadedund
LoadVars.getBytesTotal
verwenden. Dadurch können die geladenen Daten eines load und sendAndLoad Vorgangs ermittelt werden.
Weitere Eigenschaften:
Die Daten, die eingelesen werden soll, brauchen einen bestimmten MIME-Typ. Folgende Eigenschaft enthält den Typ der Datei:
LoadVars.contentTypeDer Standartwert hier für ist application/x-www-form-urlencoded.
Als weitere Eigenschaft ist
LoadVars.loadaufzuführen. Diese Eigenschaft gibt in Form eines Booleschen Werts an, ob ein Ladevorgang abgeschlossen ist oder nicht.
Als Ereignis steht noch
LoadVars.onLoad(erfolgreich)zur Verfügung. Dieses Ereignis wird aufgerufen, sobald ein Ladevorgang abgeschlossen ist.