在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