我需要使用腳本中定義的一些變量,但是當我調用它們時,它們的值爲0.我不知道我在做什麼錯誤。使用另一個腳本中的變量int 5
實施例:
Script1.cs
public int cont;
public void Method() { cont++; }
void Update() { Method(); }
Script2.cs
public Script1 usingScript1;
void MethodX()
{
usingScript1.GetComponent<Script1>();
Debug.Log(usingScript1.cont);
}
void Update() { MethodX(); }
此腳本應顯示 「CONT」 變量增大,因爲它被從更新()調用,但這並沒有發生。當我打電話時,它是0並且不增加。
此外,我指的是在Ispector中包含Script1.cs的對象。這一定是我錯過的一件簡單的事情。我甚至嘗試調用Method()。
我投票結束這個問題作爲題外話,因爲它是一個億次重複。有趣的是,這是來自嘗試Unity的新愛好者關於Unity的唯一最常見的問題。 – Fattie
_「請勿使用更新......專家永遠不需要使用它」_ - 不正確。_「[更新是最常用的函數來實現任何類型的遊戲行爲](http://docs.unity3d.com/ScriptReference/MonoBehaviour.Update.html)」_ – MickyD
嗨@JoeBlow,你在談論避免'當涉及到RigidBodies時更新?在這種情況下,我同意你的看法。否則,重寫'Update'沒有什麼問題,因爲你可以在我的spiffy中看到_ [GPGPU n-Body galaxy simulation](https://mickyd.wordpress.com/2014/02/01/n-body-galaxy-simulation - 使用 - 計算 - 着色器上-GPGPU的通團結-3D /)_。 :) – MickyD