簡體   English   中英

從swf動態嵌入符號?

[英]Dynamicly embed symbols from a swf?

我試圖用這個嵌入x個符號:

[Embed(source='graphics/backgrounds.swf', symbol='background01')]
private var Background01 : Class;

問題是,我有100個背景符號,並希望嵌入它們而不用像下面的代碼那樣編寫每一個:

[Embed(source='graphics/backgrounds.swf', symbol='background01')]
private var Background01 : Class;

[Embed(source='graphics/backgrounds.swf', symbol='background02')]
private var Background02 : Class;

[Embed(source='graphics/backgrounds.swf', symbol='background03')]
private var Background03 : Class;

相反,我想使用這樣的2個循環:

for (var i = 0;i < 10;i++)
{
    for (var j = 0;j < 10;j++)
    {
        [Embed(source='graphics/backgrounds.swf', symbol='background' + i + j )]
        // code for adding this to an 2d-array or something
    }
}

這不會工作,因為它告訴我元數據是錯誤的,所以我的問題是:

是否有可能做到這一點? 或者有類似的方法嗎?

是啊,傷心地說馬庫斯,有沒有做你想要什么樣的方式。 MetaData不是AS3,它沒有被評估,所以你不能按照你嘗試的方式使用它。

但是,如果您要嵌入100個背景符號,為什么不在時間軸中的每個幀上創建一個MovieClip呢? 然后嵌入該符號一次並使用gotoAndStop轉到你想要的那個?

100個背景在開始時全部加載到內存中聽起來像是一種狡猾的方式來回到我身邊。 更好的方法可能是在需要時加載內存和內存。 這取決於它們當然用於什么,但“背景”這個名稱告訴我,這可能是一個更好的行動方案。

我不相信你可以將meta指令放在常規代碼語句中。 它們是您正在編寫的類范圍內變量聲明的一部分。

如果編寫如此多的變量證明是繁重的,並且你已按順序命名符號,請在您喜歡的文本編輯器中編寫一個javascript宏(我使用並喜歡ActiveState的KomodoEdit,並且它是免費的)並讓它吐出您可以粘貼的文本進入你的ActionScript類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM