我想製作一個遊戲,其中我的背景滾動取決於我希望玩家走多快。我如何參考不同類別的非靜態成員c#
我已經嘗試創建一個非靜態函數,它訪問BackgroundScroller.speed作爲傳遞值的簡單方法。
。
(PlayerController.cs)
void Setspeed(float setSpeed){
BackgroundScroller.speed = setSpeed;
}
BackgroundScroller.cs看起來是這樣的:
using UnityEngine;
using System.Collections;
public class BackgroundScroller : MonoBehaviour {
public float speed = 0;
public static BackgroundScroller current;
float pos = 0;
void Start() {
current = this;
}
public void Go() {
pos += speed;
if (pos > 1.0f)
pos-= 1.0f;
renderer.material.mainTextureOffset = new Vector2 (pos, 0);
}
}
。
的錯誤,當我嘗試和PlayerController.cs訪問BackgroundScroller.speed是我得到:「對象引用才能訪問非靜態成員‘BackgroundScroller.speed’
我不明白怎麼訪問BackgroundScroller.speed從本質PlayerController.cs的價值。我不希望創建一個對象引用,我只是想簡單地在其他類更改值。
乾杯
盧西奧
完美的作品歡呼值。我也是一個白癡,我在之後的教程中使用了.current,它調用了go()。再次感謝。 – LucioMaximo 2014-11-25 06:01:57