在Unity 5.0中,由于我在下面写的代码,我得到以下错误。不幸的是,我不明白,任何人都可以帮忙吗?unity3d 5.0 C#出错CS0120:访问非静态成员需要对象引用
moneyGet.cs(19,17):错误CS0120:一个对象引用需要访问非静态成员`moneySystem.money '
using UnityEngine;
public class moneyGet : MonoBehaviour
{
int curHealth = 100;
int maxHealth = 100;
public void Update()
{
if (curHealth > maxHealth)
{
curHealth = maxHealth;
}
if (curHealth < 0)
{
curHealth = 0;
moneySystem.money += 100;//name of your script moneySystem
}
}
}
但是,下面的代码没有按'牛逼引发任何错误:
using UnityEngine;
public class moneySystem : MonoBehaviour
{
public int money = 0;//amout of your money
GUIText moneyText;//To Display Your money
void Update()
{
if (money < 0)
{
money = 0;
}
}
}
部分偏离主题,但这是代码标准派上用场的地方...... C#倾向于用骆驼套管和大写字母定义类,其中变量以较低的套管开始.. – Sayse 2015-03-25 11:27:55
个人而言,我讨厌当人们投票时没有理由。至于部分题外话,无视。你有一个合法的问题,在学习的同时,每个人都有自己的编码风格和命名约定。统一是奇怪的,因为你不知道对象创建的顺序,然后将“组件”添加到游戏对象中。我也在这个过程中学习。 – DRapp 2015-03-25 11:32:15
@DRapp - 我的downvote没有链接到我的评论。它与如果你[谷歌“访问非静态成员需要对象引用”](https://www.google.co.uk/search?q=An+object+reference+is+需要+到+访问+非静态+成员&ie = utf-8&oe = utf-8&gws_rd = cr&ei = 7JwSVfOgL4ae7gah1YGoAg)你会被充斥着重复的答案 – Sayse 2015-03-25 11:33:44