簡體   English   中英

是否可以創建動態嵌入功能?

[英]Is it possible to create dynamic embed function?

是否可以在ActionScript3中創建動態嵌入功能

例如這樣

     public function embedImage(path:String):Bitmap{
            [Embed(source = path, mimeType = "image/png")]
        var NewBitmapClass:Class;

            var image:Bitmap=new NewBitmapClass();
            return image;

     }// tried it, it doesnt work

或也許以其他方式,甚至完全有可能?

使用“動態”部分可以獲得的最接近的結果是創建一個包裝類,在其中定義圖像,然后可以通過id將它們作為Bitmap獲取。 不幸的是,這些屬性是公共的,否則hasOwnProperty函數不會返回true。 (如果有人找到更好的方法,請告訴我)

見下文:

package {
import flash.display.Bitmap;

public class DynamicEmbed {

    [Embed(source = "../images/cat.jpg")]
    public var cat : Class;

    [Embed(source = "../images/parrot.jpg")]
    public var parrot : Class;

    [Embed(source = "../images/pig.jpg")]
    public var pig : Class;

    [Embed(source = "../images/quail.jpg")]
    public var quail : Class;

    public function DynamicEmbed() {
    }

    public function getBitmap(id : String) : Bitmap {
        if(hasOwnProperty(id)) {
            var bitmap : Bitmap = new this[id]();
            return bitmap;
        }

        return null;
    }
}
}

嵌入式元素是在編譯時嵌入的。 您不能在編譯時動態地嵌入某些內容...如果您想動態地加載資源,請使用Loader

不,嵌入源在編譯時嵌入。 您無法在運行時嵌入任何內容。 這就是embed的意思,即在構建swf時嵌入。

暫無
暫無

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

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