unity场景切换的一个问题与解决

unity场景切换的一个问题与解决

背景:假设场景一中有三个物体A,B,C,其中B、C是Button,给B和C在hierarchy面板添加onclick函数,分别为挂载在A上的脚本ButtonManager上的函数onButton_B_click()和onButton_C_click(),由于某些原因,需要A物体在场景切换时不销毁,并且当切回场景一时,此时会有两个A物体的存在,删除场景默认的那个A,保留一直没有销毁的A。

这样当我们回到场景一时,会发现点击B、C按钮没有任何效果,B、C上对应的响应函数变成了miss。

这是因为B、C是和原有的A上的脚本中的对应函数绑定,现在原有场景的A销毁了,保留的是一直没有销毁的A,所有会出现点击按钮无效的现象

解决办法:

不在hierarchy面板添加按钮响应函数,而是在脚本中添加。

在按钮B上挂载一个脚本,在start()中:

void start()
{GameObject A = GameObject.Find("A");ButtonManager buttonManager = A.GetComponent();this.GetComponent

同样的,在C上也可以挂载这样的一个脚本,把对应的响应函数修改一下即可

这样回到场景一时,B、C两个按钮就绑定上了A中的函数。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部