我試圖在某個場景(播放級別)加載後使按鈕可以互動。它是菜單場景中的一個按鈕,用於表示加載的場景本身(播放後可選擇的級別)。無法通過單獨的腳本使按鈕不可互動
問題是這樣的:如果用戶通過一定的水平,說1級,2級被加載,和靜態方法被調用:
public static void AllowTut2()
{
Tut2Allowed = true; //public static bool initialised in this script
tutorial2.interactable = true; //tutorial2 is a button in the "menu scene"
}
要清楚其中的變量來自於,這是相同的腳本的一部分:
public class LevelSelectScript : MonoBehaviour {
public Button tutorial2;
public static bool Tut2Allowed = false;
//...some other variables
void Start()
{
tutorial2 = tutorial2.GetComponent<Button>();
tutorial2.enabled = false; //more later on
///... some other code
}
}
現在的問題是這種錯誤:一個對象引用需要訪問非靜態成員`LevelSelectScript.tutorial2' (指方法AllowTut2)。
似乎我不能通過給定的靜態方法(在另一個腳本中調用)更改tutorial2.interactable。
它基本上說按鈕tutorial2是非靜態的,因此不能在靜態方法中使用它。
現在,如果我使按鈕靜態的,即改變
public Button tutorial2;
到
public static Button tutorial2;
那我也沒有辦法在場景中的按鈕對象分配到所連接的腳本這個變量。
有人可能知道這個問題的解決方案嗎?
在此先感謝!
您應該使用,而不是統一標籤 –