2011-12-23 57 views
0

我使用loader類將一些png文件加載到舞臺上。被加載文件後,調用的函數是類似於這樣:如何將加載的SWF轉換爲位圖數據?

private function IconLoaded(e:Event):void 
     { 

    percentLoaded_txt.visible = false; 
    iconLoader = Loader(e.target.loader); 

    icone = Bitmap(iconLoader.content); 
    icone.smoothing = true; 

    var _icon: imgBox; 
    _icon = new imgBox(_MAX_WIDTH, _MAX_HEIGHT, icone,0);// new imgHelper(_bitmap); 

    _icon.x = _main.cena.width/2; 
    _icon.y = _main.cena.height/2; 
     addChild(_icon); 
} 

imgBox是自動調整的位圖,也允許添加例如邊境一類...


我的代碼工作正常,加載PNG文件。但我也想加載swf文件。

我該怎麼做?

謝謝。

回答

2

您需要將加載的SWF複製到位圖中。

function copyIt(obj:DisplayObject):Bitmap { 
     var bd:BitmapData = new BitmapData(obj.width, obj.height); 
     bd.draw(obj); 
     return new Bitmap(bd); 
    } 


    var bmpCopy:Bitmap = copyIt(mySWF); 
    addChild(bmpCopy); 
2

您不能將swf加載爲位圖數據,因爲它們是完全不同的類型。你可以做的是加載一個SWF並將其添加爲影片剪輯的子節點以顯示其內容。 這link顯示如何加載瑞士法郎。加載後,您只需將其添加爲MovieClip的子項並將此影片剪輯添加到舞臺以顯示其內容。