c# - Unity - 引用另一个游戏对象文本
问题描述
在我的第一个游戏上工作,我正在尝试创建一个游戏管理器脚本,我将其附加到我调用的对象上GameManager
。
在GameManager
脚本中,我公开引用了 UI 文本。但是当在 GameManager 的静态函数中引用此文本时,我得到NullReferenceException: Object reference not set to an instance of an object
. 我确实将它拖到了检查器中的位置。
这个函数之所以是静态的,是因为每当点击游戏中的一个图块时都需要调用它。
我假设出于某种原因对本文的引用不是实例。但是我不明白当它已经在我的场景中时我应该如何实例化它。
考虑创建一个在调用公共静态方法时调用的私有方法,但不确定这是否是一种好习惯。
非常感谢有关如何获取实例以及出了什么问题的一些说明。
非常感谢您提前
编辑:添加GameManager.cs
我得到了第一行的错误AddScore()
public static Text score; //declared at the top
... // some irrelevant logic
public static void AddScore()
{
int currentScore = int.Parse(score.text);
currentScore += scoreToAdd;
score.text = currentScore.ToString();
}
解决方案
推荐阅读
- javascript - Bootstrap 改变模态内容
- inno-setup - 缩放图像在欢迎页面中不可见
- python - 如何使用 Telethon 在电报中搜索群组和频道?
- cplex - CPLEX:使用 dvar 的分配值对数组进行索引
- excel - 无法使用表达式自动过滤日期列
- java - 我将某些项目存储在我的缓存中,这些项目太昂贵而无法实时查询。如何更新这些缓存元素?
- android - Android Retrofit @Header 和 @Field 一起使用?
- ios - 显示下拉表时的自动布局问题
- python - 从轮廓中删除背景
- ruby-on-rails - `method_missing':模型的未定义方法`devise'(调用'Model.connection'建立连接):类(NoMethodError)