我来自Java并且正在采用C#脚本,现在我已经遇到了这个问题,现在正在寻找解决方案,我尝试将该类设置为一个实例和一切。这是一个我正在和一些朋友合作的微型游戏项目。如何从C#中的另一个类调用一个变量
无论哪种方式,我有StatHandler.cs处理所有我们的statpoints ...然后我有HealthManager.cs应该处理所有健康相关的东西。
的问题是,我不能为我的生活弄清楚如何调用变量,如
public int stamina, strength, agility, dexterity, wisdom;
从StatHandler.cs
我知道,在Java中这将是为容易,因为
maxHealth = StatHandler.stamina * 10;
虽然,你不能做到这一点与C#,创建实例时的代码看起来像这样
maxHealth = StatHandler.instance.stamina * 10;
它为我提供了错误
NullReferenceException: Object reference not set to an instance of an object
我也试过inherriting,这样做
public class HealthHandler : StatHandler {
但它设置的所有值设为0的HealthHandler类,它不读任何东西。
我真的只需要弄清楚如何拉从其他C#文件的变量,因为这是我的放缓一路下跌。
[这是如何做一个漫长的旅程](http://books.google.com.sg/books/about/Head_First_C.html?id=Rnea7qV_qQAC&redir_esc=y),这里是你如何[做它现在](http://stackoverflow.com/questions/1392017/calling-a-variable-from-another-class-c);) – bonCodigo
好像你正试图获得耐力,就像它是一个静态的领域。 。或者在StatHandler中将其设为静态,或者创建一个StatHandler的新实例并从中获得耐力。 – Oren
...“拾取C#脚本”...“调用变量”...“从C#文件中提取变量”......这个术语非常奇特。除此之外,它与Java中的相同:您需要一个对象实例来访问类的非静态字段。 –