LayaBox1.7.16 TiledMap 销毁的问题,TiledMap销毁后屏幕变灰,不能显示
问题的表现是,当我销毁地图后,再次创建一个ui节点到场景上,这个时候屏幕是灰色的,什么都不能显示,但是ui的按钮可以点击。
我的代码:
var _map:TiledMap = new TiledMap();
var viewRect:Rectangle = new Rectangle(0,0,8600,1800);
_map.createMap("res/race.json",viewRect);`
我的游戏销毁的代码:
_map.destroy();
_map = null;
Laya.stage.addChild(new Plazz());
经过排查后发现问题出现在TiledMap相关的代码里面
在TiledMap的destroy方法内
/**
* 销毁地图
*/
public function destroy():void {
.......
//这里是销毁地图层的代码
var tLayer:MapLayer;
for (i = 0; i < _layerArray.length; i++) {
tLayer = _layerArray[i];
tLayer.clearAll();
}
........
}
然后在MapLayer的clearAll()里面会去销毁子节点GridSprite
/**
* @private
* 清理当前对象
*/
public function clearAll():void {
.......
var tGridSprite:GridSprite;
for (i &#