首页 > 其他 > 详细

Laya页面嵌套和Scene.destory导致的Bug

时间:2019-09-29 00:11:43      阅读:204      评论:0      收藏:0      [点我收藏+]

Laya2.1.1.1

参考:

预设使用

 

Laya给出了相同模块,逻辑代码也相同情况下,使用页面嵌+runtime的使用方案。但是该方案和Laya.Scene.open,Laya.Scene.destroy等有冲突,会导致bug。

技术分享图片

 

 

 

当参考使用Laya的教程,拖入一个scene到另一个scene中使用。

假设当前页面是主页HomeScene.scene, 主页里嵌套了10个其他的UI也是.scene的页面。

技术分享图片

 

 

 在使用Laya.Scene.open(HomeScene)后,再使用Laya.Scene.destroy(HomeScene),会报错scene.url的call是undefined

技术分享图片

 

 

 

找到销毁源码处。发现在Laya.Scene.destroy中销毁时,调用了scene.destroy,然后scene.destroy中改变了unDestroyedScenes列表长度....

假设列表原长度是10,第一个scene.destroy执行时,列表长度变成了9,然后Laya.Scene.destroy仍然回去找第10个scene,这时第10个scene已经是null了。

 

Laya.Scene.destroy:

技术分享图片

 

scene.destroy:

技术分享图片

 

Laya页面嵌套和Scene.destory导致的Bug

原文:https://www.cnblogs.com/gamedaybyday/p/11605512.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!