所以我在 Unity 中使用具有单个实例的类已经有一段时间了,通常会这样做:
class PublicThings {
public static PublicThings I; // instance of this class
public int Score;
void Start { I = GetComponent<PublicThings>(); }
}
用法:PublicThings.I.Score = 10;
效果非常好。但是,我很好奇是否可以返回类的实例,而不必在类后键入 .I
。
所以基本上它看起来是这样的:
PublicThings.Score = 10;
This question似乎它是相关的,但我很难让它工作。
这可能吗?如果是的话,该怎么做?
最佳答案
三个选项可以完成您想做的事情:
- 在 PublicThings 类中使用
static
关键字创建静态属性/字段 - 创建 ScriptableObject并将其附加到调用它的项目 ( video tutorial )
- 利用 Singleton Pattern (我建议在尝试其他两种方法之前避免使用此方法)
另外值得注意的是,单例模式并不一定能解决您的问题。您仍然需要调用类似 PublicThings.instance.Score
的内容。
希望这有帮助。
关于C# 使类返回其实例而不带函数或变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61734575/