1
我有兩個腳本。第一個腳本BallControl附加在GameObject上。第二個腳本Hero附加在其他GameObject上。 當我嘗試將值Hero傳遞給BallControl時,我收到一條錯誤消息:「NullReferenceException:對象引用未設置爲對象的實例」 如何解決此問題或者如何將對象上附加的值腳本傳遞給其他腳本上附加的其他腳本?謝謝你的時間。Unity3D將值腳本傳遞給其他腳本
using UnityEngine;
using System.Collections;
public class BallControl : MonoBehaviour {
public int life = 0;
public GameObject hero;
void Update() {
Hero obj = GetComponent<Hero>();
life = obj.lifeBall;
if(life==20){
print("GameOver");
}
}
}
//
using UnityEngine;
using System.Collections;
public class Hero : MonoBehaviour {
public int lifeBall = 0;
public GameObject ball;
void Update() {
lifeBall++;
}
}
我不確定你在這裏的腳本是做什麼的。我所看到的只有英雄會增加lifeBall的每一幀,BallControl會在GameOver中打印出20個數字......在你的遊戲中它有什麼樣的背景,它是什麼類型的遊戲,以及英雄如何與球互動? 我有一種感覺,答案是在'英雄OBJ = GetComponent();'因爲這試圖獲得一個腳本,而不是另一個單獨的遊戲對象。 –
我只是想增加lifeBall。這些代碼只是我的問題的原型。如果我可以在BallControl中增加人生價值,我可以控制Ballcontrol的動畫。例如:如果生命== 1,則播放animation1。如果生命== 4則摧毀物體。我試圖做到這一點。 –