如何在两个Scene之间传值?

冷西瓜 2017-08-10 11:18:11
比如我在SceneA中设置了一个按钮,这个按钮按下去之后会改变一个bool值,然后把这个改变了的bool值传给SceneB中的脚本,以此来实现一些功能。
但是当我这样尝试去做的时候,在SceneB中根本就不会出现来自SceneA中的任何东西。。。
...全文
1219 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
勤奋的小游侠 2018-05-14
  • 打赏
  • 举报
回复
单例模式这个时候 就有用了
newmunga 2018-05-12
  • 打赏
  • 举报
回复
1、定义一个静态类保存一些全局变量,你可以把你需要的哪个变量放在这里面定义成静态变量。 2、创建一个GameObject kernel,脚本里使用DontDestroyOnLoad(kernel),这样,切换场景的时候kernel这个对象就不会被销毁了,你可以在上面挂一个单例脚本,然后创建你的变量
zhangzhiyuan303 2018-04-24
  • 打赏
  • 举报
回复
定义一个(一些)全局 静态类。修改,读取其属性
yuanyuanluoluo 2018-04-19
  • 打赏
  • 举报
回复
定义一个全局变量
itsxwz 2018-04-19
  • 打赏
  • 举报
回复
1.保存物体不销毁,下个场景再取用数据。 2.保存数据(PlayerPrefs、xml)。
随幻 2017-09-22
  • 打赏
  • 举报
回复
学习之用 就用这个PlayerPrefab就可以了 set 一个值 到下一个场景get这个值
LoveMollyWendy 2017-09-18
  • 打赏
  • 举报
回复
1.不要释放对象 2.通过消息去传递
bbs83663622 2017-09-14
  • 打赏
  • 举报
回复
这么说吧,代码生效是因为挂在了物体上,切换了场景物体都没了,代码自然也无效了,所以要么物体保留,切换场景不销毁,要么就作为静态变量传递,还有就是上面说的PlayerPrefab,外部数据的话就是数据库
yibo798757741 2017-09-07
  • 打赏
  • 举报
回复
将布尔值挂设置为静态变量
无名剑 2017-09-07
  • 打赏
  • 举报
回复
GameObject可以设置为 DontDestroyOnLoad 把这样的Obj放在最底层的场景中过场景包括其子节点都不会被删除 你可以在这样的Obj上挂在单件的Component 这样过场景这个单件的Obj就仍然存在,那么你要传递什么参数放在类似的结构上就自然可以传递了。 注意 一旦obj设置成这样单件,如果是放置在场景中,单件Component一定要做好判断,当已经存在一个这样的对象时,在Awake 要把新创建的obj自行销毁掉,否则就破坏了单件特性
  • 打赏
  • 举报
回复
修改全局变量、或者数据库数据,或者PlayerPrefs,总之就是通过公共数据来实现数据的传递。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧