lufy's legend

标题: LSprite 疑问? [打印本页]

作者: Ramsey    时间: 2014-9-2 18:44
标题: LSprite 疑问?
类似如下:当我去除一个图层时,会自动将图层事件监听,子对象(包括子对象的监听)全部去除吗?如果是这样,当我重新初始化游戏界面时,却发现有监听不起作用了。

         removeChild(gameBody);
        gameBody = null;
        gameBody = new GameBody();
        addChild(gameBody);


作者: lufy    时间: 2014-9-2 20:30
为了节约内存,任何对象被移除的时候都会被彻底释放掉
如果你不想对象被释放掉,那可以通过LGlobal.destroy 来控制,比如下面
  1. LGlobal.destroy = false;
  2. removeChild(gameBody);
  3. LGlobal.destroy = true;
复制代码
这样,gameBody就可以再次被利用了
作者: Ramsey    时间: 2014-9-3 09:17
lufy 发表于 2014-9-2 20:30
为了节约内存,任何对象被移除的时候都会被彻底释放掉
如果你不想对象被释放掉,那可以通过LGlobal.destroy ...

那对象的监听也会同步移除吗?
作者: Ramsey    时间: 2014-9-3 09:20
lufy 发表于 2014-9-2 20:30
为了节约内存,任何对象被移除的时候都会被彻底释放掉
如果你不想对象被释放掉,那可以通过LGlobal.destroy ...

因为我重新建立一个gameBody之后,就有子图层鼠标点击监听失效了。
作者: Ramsey    时间: 2014-9-3 09:27
Ramsey 发表于 2014-9-3 09:20
因为我重新建立一个gameBody之后,就有子图层鼠标点击监听失效了。

找到原因了,事件控制游戏重新开始后,忘记初始化了。谢谢lufy




欢迎光临 lufy's legend (http://lufylegend.com/forum/) Powered by Discuz! X2.5