我注意到Starling中的每个displayObjects都有dispose方法,但我不知道在调用dispose()方法时已经做了什么。
我想我可以通过例子来更清楚地描述它:
public class SubSprite extends Sprite
{
private var img:Image;
public function SubSprite()
{
img = new Image( assetsManager.getTexture("textureName") );
addChild(img);
addEventListener(TouchEvent.TOUCH, onTouch);
}
}
var mySprite:SubSprite = new SubSprite();
addChild(mySprite);
mySprite.dispose(); // what will be done by using this method?
dispose方法会列出这些东西吗?或者哪一个会完成?
img.texture.dispose;
img.dispose;
img = null;
mySprite = null;
removeChild之(IMG);
removeChild之(mySprite上);
mySprite.removeEventListener(TouchEvent.TOUCH,onTouch);
答案 0 :(得分:0)
它从对象中删除所有事件侦听器,处理其过滤器的资源,例如对象的纹理,顶点和索引缓冲区。这些缓冲区用于通过GPU(Stage3D)渲染对象。