首页 > 解决方案 > 如何在主菜单中创建可以通过在关卡中收集更多硬币来增加的硬币 GUI 标签?

问题描述

我正在 Unity 2018.2.5f1 中开发游戏。我已经将它设置在一个关卡中,您可以收集放置在关卡周围的硬币。我也有 GUI 标签设置来计算你收集的硬币。然后,在我的主菜单中,我设置了另一个 GUI 标签,它将显示您在整个游戏过程中收集了多少硬币。问题是,我一直在寻找如何获取 Level 硬币计数器 GUI 标签并将其添加到主菜单硬币计数器 GUI 标签。下面是这个的 C# 代码(它真的不是很多代码)。

public GUIStyle COINStyle; 

private void OnGUI()
{
    GUI.Label(new Rect(10, 10, 100, 20), "Coins : " + coins, COINStyle);
}

标签: c#user-interfaceunity3d

解决方案


我过去实现这一点的方式是使用标签。我将有一个全局变量类来存储我的所有变量,并DontDestroyOnLoad(this)在其Awake()方法中使用。然后我将其标记为“全球”

然后我可以做类似的事情:

GlobalVariables gvar =GameObject.FindObjectWithTag("Global").GetComponent<GlobalVariables>(); 

在你的菜单类中,然后用它来抓取你的东西,比如:

   int newcoins = gvar.coinscollectedlastlevel;
   gvar.coinscollectedlastlevel=0;
   coins= coins + newcoins;

推荐阅读