1
我有15個叫做「Sound1」,「Sound2」等的聲音,在連接屬性中設置。我想在一個循環中動態引用它們。例如,而不是如何動態引用類鏈接?
currentMusic = new Sound2();
我怎麼可以這樣做
currentMusic = new ("Sound" + i)();
還是什麼話是這樣做的更好的辦法?
我有15個叫做「Sound1」,「Sound2」等的聲音,在連接屬性中設置。我想在一個循環中動態引用它們。例如,而不是如何動態引用類鏈接?
currentMusic = new Sound2();
我怎麼可以這樣做
currentMusic = new ("Sound" + i)();
還是什麼話是這樣做的更好的辦法?
存儲生成的類名的變量,檢索類從應用程序域中實例化新對象。 注意例外!
var soundClassName:String = "Sound" + i;
var soundClass:Class;
var sound:Sound;
try {
soundClass = getDefinitionByName(soundClassName) as Class;
sound = new soundClass();
} catch (re:ReferenceError) {
trace("Class '" + soundClassName + "' not found");
} catch (te:TypeError) {
trace("Unable to instantiate the sound object");
}
使用與在運行時加載影片剪輯或字體相同的過程。
假設你已經在你的庫導出爲「sound_0」,「sound_1」,......,「sound_9」等聲音:
for(var i:uint = 0; i < 10; i++)
{
var soundClass:Class = getDefinitionByName("sound_" + i.toString()) as Class;
var sound:Sound = new soundClass();
}