[LayaAir3]Layaair3.3.0-beta.4中2D导航数据清理报错

直接销毁所有子节点(this.roleBox.destroyChildren();)中添加了Laya.Nav2DAgent代理导航时会报错:
 
比如子节点有三个角色,其中两个角色正在寻路时,第三个角色执行了销毁所有子节点(this.roleBox.destroyChildren();)必然会报错
 
SpriteGlobaTransform.js:106 
 Uncaught TypeError: Cannot read properties of null (reading 'globalTrans')
    at SpriteGlobalTransform.setPos (SpriteGlobaTransform.js:106:36)
    at Nav2DAgent._updatePosition (Nav2DAgent.js:47:32)
    at Nav2DAgent._updateNavMesh (BaseNavAgent.js:289:14)
    at BaseNavMesh.js:185:19
    at Map.forEach (<anonymous>)
    at NavMesh2D._updateNavMesh (BaseNavMesh.js:181:25)
    at NavMesh2DSurface._update (BaseNavMeshSurface.js:203:27)
    at BaseNavigationManager.js:130:35
    at Map.forEach (<anonymous>)
    at Navigation2DManage.update (BaseNavigationManager.js:128:28)
 
然而在销毁所有子节点(this.roleBox.destroyChildren();)前面加上navMesh2DSurface.enabled = false就不会报错。
 
但是使用了navMesh2DSurface.enabled = false后再使用navMesh2DSurface.enabled = true导航不起作用了。
微信图片_20250706205936_231.png
已邀请:

要回复问题请先

商务合作
商务合作