繁体   English   中英

如何将花车从一个场景转移到另一个场景

[英]how to transfer a float from one scene to another

嗨,我正在制作一个统一 3d 的 fps 射击游戏,我正在尝试添加一个游戏货币系统,但为了做到这一点,我需要将我的玩家移动脚本上的一个名为硬币的浮点数从关卡场景转移到商店场景,以便将其作为 UI 使用并显示在屏幕上,任何人都知道我该怎么做,非常感谢您的帮助

不要将变量存储在不属于它们的脚本中。 这个问题有多种解决方案:

  1. 选项是创建一个包含需要传输的变量的ScriptableObject 它由您在编辑器中实例化,然后作为资产分配给您的播放器预制件。 播放器无需在播放器本身中设置变量,而是在此存储中设置一个变量。
    这种存储可以是任何东西,从单个变量(请参阅此视频以供参考)到 Unitys Tilemap System等大型系统。
  2. 您创建一个附加到游戏 object 的组件,该游戏位于“加载时不要破坏”场景中。 这可以通过创建一个单一行为脚本并在其Start方法中调用DontDestroyOnLoad(gameObject)来完成。 此外,您可以将其设为 singleton 并从任何地方访问它。 有关参考,请参阅游戏开发堆栈交换中的此答案

老实说,我总是尝试用第一个 go 。 如果您希望某些变量保持“游戏状态”(这就是虚幻引擎中的名称),那么您可以在外部创建它并在整个 session 中引用它。 确实有很多情境方法,没有真正的对与错,但您应该始终牢记,class 应该只用于单一目的和一个移动播放器并存储当前统计数据的播放器脚本(应该存在比播放器本身长)通常是一种不好的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM