我使用loader类将一些png文件加载到舞台上。加载文件后调用的函数类似于:
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文件。
我该怎么做?
感谢。
答案 0 :(得分:2)
您无法将swf作为位图数据加载,因为它们是完全不同的类型。您可以做的是加载swf并将其添加为影片剪辑的子项以显示其内容。 这个link显示了如何加载swf。加载后,您只需将其添加为MovieClip的子项,并将此动画片段添加到舞台以显示其内容。
答案 1 :(得分: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);