0
這是我在網上找到並使用的一個示例(我是對象池的新手)。它適用於單個對象類型但不允許我創建不同對象池如何爲多個對象使用一個對象池
程序包 import starling.display.DisplayObject;
public class SpritePool
{
private var pool:Array;
private var counter:int;
public function SpritePool(type:Class, len:int)
{
pool = new Array();
counter = len;
var i:int = len;
while(--i > -1)
pool[i] = new type();
}
public function getSprite():DisplayObject
{
if(counter > 0)
return pool[--counter];
else
throw new Error("You exhausted the pool!");
}
public function returnSprite(s:DisplayObject):void
{
pool[counter++] = s;
}
}
}
感謝您的幫助。非常感激。 – rtpenick