c# - 如何在主菜单中创建可以通过在关卡中收集更多硬币来增加的硬币 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);
}
解决方案
我过去实现这一点的方式是使用标签。我将有一个全局变量类来存储我的所有变量,并DontDestroyOnLoad(this)
在其Awake()
方法中使用。然后我将其标记为“全球”
然后我可以做类似的事情:
GlobalVariables gvar =GameObject.FindObjectWithTag("Global").GetComponent<GlobalVariables>();
在你的菜单类中,然后用它来抓取你的东西,比如:
int newcoins = gvar.coinscollectedlastlevel;
gvar.coinscollectedlastlevel=0;
coins= coins + newcoins;
推荐阅读
- go - 延长长度,保持价值
- javascript - 如何在 Duktape 中创建 C++ 对象
- android - Cordova 使用相同的 LAN/wifi 从 android 访问共享的 pc 文件
- c++ - 为什么 'enable_if' 不能用于在此处禁用此声明
- mysql - 如何在 MySQL 中编写用户定义的函数,以便当我从一个表中删除一行时,另一个表中的特定行也会被删除?
- python-3.x - 当驱动程序失去焦点时,Actionchains 无法正常工作
- objective-c - GMSMapView 在 Swift 中绘制自定义折线
- ruby-on-rails-5 - 多个请求在同一时间实例,rails 无法处理数组列类型的更新
- php - Laravel 全局查询范围的 withoutGlobalScope() 没有返回所需的记录
- android - Android Studio gradle 同步读取超时