[]急急 游戏销毁问题

http://ask.layabox.com/question/3278
关于这个问题 想问下 当页面 把canvas对象删除之后 我想要重新初始化这个游戏 有没有什么办法 目前看 是各种报错 非得要重新刷新页面才可以吗

我们页面是单页面开发 切换页面是切换hash的 不会刷新页面 只是修改dom的内容
从主游戏页面切换到其他页面比方说规则页面 这时候 canvas会被删除掉  再切回来的时候 重新初始化引擎 发现 报错了 而且只能刷新才能显示
已邀请:

Laya_XS

赞同来自:

看了你的描述不太明白,先说下个人的理解,游戏的销毁分为:显示对象创建销毁,还有游戏的整个canvas画布销毁;显示对象的销毁就是直接调用引擎提供的removeChild方法即可把对象从显示列表移除销毁掉,而对于canvas画布的销毁则就是直接删除当前canvas在的节点。不过第二点一般应该不会,不明白你什么情况下会有需要销毁canvas画布节点的需求,你的描述我整体上没看太明白,是否可以补充下你的描述,或你实际的需求,或提供一个示例demo,我们看下问题!

cuixueying

赞同来自:

游戏界面切换,没有必要移除canvas,你只需要针对当前界面,对显示对象进行移除即可!界面切换就是旧的界面销毁,新界面创建的过程,如果游戏需要初始化,你就需要注意下写一个初始化函数,所有有关初始化的操作需要放到初始化函数里,在初始化游戏的时候直接调用就可了!

jacksing888

赞同来自:

感谢耐心的解答 
我们的情况是这样d
主游戏页面我们是用laya做的,主游戏上有个按钮点击跳到规则页面,这时候我们不是刷新页面的 而是把当前主页面的dom节点给整个删除掉 替换成规则页面 ,这样 主游戏页面 的canvas节点就被移除了 ,然后从规则页面 返回到主游戏页面,这时候会把canvas的容器节点给重新恢复了 但是这时候已经没有了canvas 重新执行Laya.init 框架里面已经判断初始化过了就不会在初始化了 因为我们整个页面没有刷新 我这里就是缺少一个 Laya.destroy的方法 可以让我在页面切换的时候 执行,返回页面的时候 我们可以像刷新页面那样 重新的初始化一遍 注意 我们的页面切换不是刷新 而是 用jquery 的 dom容器节点.html(“新的html字符串”)这样来显示的 我们的singlepage 单页面开发

要回复问题请先

商务合作
商务合作