試圖將這兩者結合起來:
https://answers.unity.com/questions/1171111/hideunhide-game-object.html
顯示/隱藏 Unity 3D 元素
我懂了:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Modify_Menu_Button_Handler : MonoBehaviour
{
void Start()
{
GameObject[] buttons_in_create_menu;
buttons_in_create_menu = GameObject.FindGameObjectsWithTag("CreateMenu");
}
public void ChangeMenu()
{
foreach (GameObject button in buttons_in_create_menu)
{
button.SetActive(false);
}
}
}
但是,foreach 行帶有紅色下劃線,表示當前背景關系中不存在 button_in_create_menu。
來自 Javascript,我不確定作用域在 C# 中是如何作業的,尤其是在 Unity 的游戲回圈中。認為 Start() 函式將在場景加載時呼叫,基于 Unity 檔案:鏈接
uj5u.com熱心網友回復:
您必須在類中全域定義變數。
像這樣:
public class Modify_Menu_Button_Handler : MonoBehaviour
{
public GameObject[] buttons_in_create_menu;
void Start()
{
buttons_in_create_menu = GameObject.FindGameObjectsWithTag("CreateMenu");
}
public void ChangeMenu()
{
foreach (GameObject button in buttons_in_create_menu)
{
button.SetActive(false);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/361536.html
上一篇:將異步任務定義為Windows表單組件的事件有什么后果?
下一篇:如何計算給定點周圍的面積
