我查看过有关此主题的各种资源,在我看来,我需要一个包含图像文件(png)的每个Sprite的加载程序。单个加载程序到多个Sprite可能吗?
我想做一个平铺渲染系统,并创建了一个由Y精灵X的网格,但所有这些实际上引用相同的图像文件。 有没有其他方法可以做到这一点? (使精灵共享相同的PNG数据文件)
我已经做了一些示例代码。
// Create an array of X * Y Loaders
var cTileLoaders:Array = new Array(100); // for example 10 by 10 grid
var cTiles:Array = new Array(100);
var nIndex:int = 0;
var nImgLoadCount:int = 0;
for (; 100 > nIndex; ++nIndex) {
cTileLoaders[ nIndex ] = new Loader();
cTiles[ nIndex ] = new Sprite();
// perform more sprite initialization
....
cTileLoaders[ nIndex ].contentLoaderInfo.addEventListener(Event.COMPLETE, ImageLoaded
cTileLoaders[ nIndex ].Load(new URLRequest("some image path"));
}
// handler for image loaded
function ImageLoaded(eEvent:Event):void {
++nImgLoadCount;
// when all 100 sprite data are loaded
// assuming there is no i/o error
if (100 == nImgLoadCount) {
cTiles[ nIndex ].addChild(cTileLoaders[ nIndex ].content);
}
}
谢谢!直到最近我还不了解更多关于actionscript的知识:) – 2009-05-06 08:09:13