2011-10-03 77 views
1

是否有可能在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 

也許,或者即使是在所有可能的?

回答

2

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

1

不,嵌入源在編譯時嵌入。你不能在運行時嵌入任何東西。這就是嵌入意味着,嵌入在建設瑞士法郎。

+0

感謝你們。順便說一句有趣的代碼:) :)))) – Vlad

4

用「動態」部分可以得到最接近的是,創建一個包裝類,在其中定義圖像,然後可以通過一個id將它們作爲位圖獲取。 不幸的是,屬性是公共的,否則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; 
    } 
} 
} 
相關問題