希望有人能在这里帮我。
我在嵌入式ActionScript2和FlashLite 3.0环境中工作(在浏览器之外)。我正在开发的应用程序反复使用包含外部图像的movieclip容器,这些外部图像是使用loadMovie加载到这些movieclip中的。将图像放入库中并使用attachMovie不是一个选择,因为图像可以由用户上传,并且需要从外部闪存动态加载。我工作的环境非常有限,当许多这样的电影剪辑容器同时出现在屏幕上时,重复使用loadMovie加载这些外部图像会对性能造成明显的影响。
我希望有一些方法可以将外部图像加载到电影剪辑容器中一次,然后在应用程序的不同位置重复使用该电影剪辑的副本,这将消除每次不断加载外部图像的需要。
一开始,我认为使用duplicateMovieClip会很简单,但不幸的是,duplicateMovieClip看起来并没有复制被复制的剪辑的任何属性或子对象。据我所知,每次复制剪辑时,都需要再次加载外部图像,这与最初这样做的目的背道而驰。
我还研究了处理AttachBitmap()和位图缓存的一般解决方案,但不幸的是,Adobe似乎不支持Flash Lite3。(参见“Flash Lite3不支持Flash8的哪些功能?”) http://www.adobe.com/uk/products/flashlite/faq/。
有没有人有处理这种问题的经验?
编辑:An example from Adobe很好地说明了这种情况。注意在复制之后对loadMovie的第二次调用:
this.createEmptyMovieClip("img_mc", this.getNextHighestDepth());
img_mc.loadMovie("http://www.macromedia.com/images/shared/product_boxes/112x112/box_studio_112x112.jpg");
duplicateMovieClip(img_mc, "newImg_mc", this.getNextHighestDepth());
newImg_mc._x = 200;
newImg_mc.loadMovie("http://www.macromedia.com/images/shared/product_boxes/112x112/box_studio_112x112.jpg");发布于 2009-06-23 21:07:54
好吧,FlashLite 3.1支持BitmapData.draw和MovieClip.attachBitmap。
不幸的是,如果你不能使用FlashLite 3.1,你将不得不进行多次加载。
https://stackoverflow.com/questions/1035078
复制相似问题