我有一个应用程序,它使用矢量对象在舞台上创建和显示多个动态项目。
当我退出游戏然后返回 inGame 屏幕时,对象仍然可见。我尝试了多种删除方法,但没有任何效果。
我已经取消了向量,但对象仍然保留在舞台上。
基本上我只需要在游戏退出时清除舞台。
我在用:
var item = new Vector.<Item>();
去创造。
用户通过点击暂停按钮然后点击“返回菜单”按钮退出游戏。
任何指导表示赞赏。
我有一个应用程序,它使用矢量对象在舞台上创建和显示多个动态项目。
当我退出游戏然后返回 inGame 屏幕时,对象仍然可见。我尝试了多种删除方法,但没有任何效果。
我已经取消了向量,但对象仍然保留在舞台上。
基本上我只需要在游戏退出时清除舞台。
我在用:
var item = new Vector.<Item>();
去创造。
用户通过点击暂停按钮然后点击“返回菜单”按钮退出游戏。
任何指导表示赞赏。
如果您的所有 DisplayObject 都在item
Vector 中,并且 Item 是您进入主屏幕时执行的后续循环的祖先,DisplayObject
则会将它们从容器中删除。
var child:Item;
while(item.length)
{
child = item.shift();
if(child)
{
//perform some cleaning functionality e.g. child.destroy();//if there is destroy method for disposing Item class
//
if(child.parent)
{
child.parent.removeChild(child);
}
child = null;
}
}
//
item = null;
一旦你对某事物执行了一个addChild()
操作,该事物就会收到另一个指向它的链接,即来自显示列表。removeChild()
因此,在实际删除向量之前,您必须手动调用存储在向量中的每个动态对象。
var item:Vector.<Item>;
for (var i:int=item.length-1;i>=0;i--)
item[i].parent.removeChild(item[i]);
item=null;