我希望我的OptionButtonMainMenu隐藏MainMenuCanvas,以便可以使用OptionCanvas,这可能吗?

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class Director : MonoBehaviour {
    private GameObject mainMenu, options;

    void Awake (){
       mainMenu = GameObject.Find ("MainMenuCanvas");
        options = GameObject.Find ("OptionCanvas");
        }
    void Start () {
        mainMenu.SetActive (true);
        options.SetActive (false);
    }
    void Update () {
      //should i put If.else here?
     /* like
         if (button.clicked){
             mainMenu.SetActive (false);
             options.SetActive (true);*/
     }
   }
}

最佳答案

应该有可能。尽管我建议使用Canvas.enabled(https://docs.unity3d.com/ScriptReference/Behaviour-enabled.html)变量以保持一致性。

只需在脚本中创建一个函数即可处理点击。 f.e.

void onOptionsClick(){
if(mainMenuCanvas.enabled){
    mainMenuCanvas = false;
    optionCanvas = true;
 }
 else{
    mainMenuCanvas = true;
    optionCanvas = false;
 }
}


此功能应做您想要的。然后,您只需选择按钮,然后将此功能选择为Inspector中该按钮的onClick()。

让我知道是否可行,因为我无法测试atm!

07-25 20:53