[ascoders] AS2 und Rückgaben
- From: "Vikko M." <listenmail04@xxxxxx>
- To: <ascoders@xxxxxxxxxxxxx>
- Date: Tue, 6 Sep 2005 11:45:18 +0200
Hallo,
ich habe einmal eine Frage zu den Funktionsrückgaben von ActionScript. Leider
ist in Flash ja nicht so etwas wie in C möglich, dass man eine Funktion auch
mittendrin unterbrechen kann und sie den Wert zurückgibt
public function test (wert:Number):Number
{
if (wert == 1) { return 9; }
if (wert == 2) { return 8; }
if (wert == 3) { return 7; }
// ... nur ein Beispiel : Das geht ja leider nicht
}
Und das bringt micht auch schon zu dem Problem, welches ich habe.
Ich habe eine Klasse für eine kleeine Diashow und auch eine Methode, die alle
Bilder auf einmal läd.
public function ladeAwardBilder (pfad:String, bilder:Array):Boolean
{
var loader:MovieClipLoader = new MovieClipLoader();
var bildListener:Object = new Object();
// ...
bildListener.onLoadInit = function (ziel_mc)
{
counter++;
if (counter == bilder.length)
{
loader.removeListener(bildListener);
return true;
}
}
for (i=0 ; i<alleBilder.length ; i++)
{
j++;
buehne.mc_bilderLeiste.createEmptyMovieClip("bild"+j, j);
loader.loadClip(pfad+""+alleBilder[i].datei,
buehne.mc_bilderLeiste["bild"+j]);
// ...
}
}
Im Programm will ich das ganze jetzt eigentlich nur so aufrufen:
bla = new blaKlasse();
if (bla.ladeAwardBilder("ordner/", arraymitBilder))
{
// bilder sind geladen und es kann weitergehen
}
Aber sowas ist ja nicht möglich. Also musste ich das, aus meiner Sicht ziemlich
umständlich machen, in dem es in der Klasse noch eine Statusvariable gibt
ActionScript:
private var geladen:Boolean = false
die dann auf true gesetzt wird, wenn alle Bilder geladen wurden.
Und in der Klasse gibt es noch eine Methode
public function get_LadeStatus():Boolean
{
return geladen;
}
Der Aufruf erfolgt dann so:
bla = new blaKlasse();
bla.ladeAwardBilder("ordner/", arraymitBilder);
this.onEnterFrame = function ()
{
if (bla.get_LadeStatus())
{
delete this.onEnterFrame;
// bilder sind geladen und es kann weitergehen
}
}
Das funktioniert zwar auch, aber ich finde das etwas umständlich mit diesem
onEnterFrame. Gibt es eine elegantere Lösung?
--------------------------------------------------------------
Archiv : http://www.freelists.org/archives/ascoders/
RSS : http://www.freelists.org/archives/ascoders/feed.rss
Optionen : http://www.freelists.org/list/ascoders
--------------------------------------------------------------
Other related posts:
- » [ascoders] AS2 und Rückgaben