Unity C# gameobject.setactive(false) 在第一次播放中

本文关键字:第一次 播放 false gameobject setactive Unity | 更新日期: 2023-09-27 18:37:02

如何在第一次播放时将gameobject(myCanvas)设置为false?我已将此脚本放入立方体中,当我单击立方体时,它将显示Canvas。我没有点击立方体,但是,画布已经出来了。


using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class MouseDownText : MonoBehaviour {
    public Canvas myCanvas;
    void Start()
    {
        // first start game. gameobject will turn off
        myCanvas.gameObject.SetActive(false);
    }
    void OnMouseDown()
    {
        // for switch on/off
        myCanvas.gameObject.SetActive(!myCanvas.gameObject.activeSelf);
    }
}

Unity C# gameobject.setactive(false) 在第一次播放中

我了解,您有一个画布组件附加到游戏对象(立方体),并且您希望使用鼠标单击来切换画布是否处于活动状态。

你试过吗:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class MouseDownText : MonoBehaviour {
public Canvas myCanvas;
// Use this for initialization
void Start () {
    myCanvas = GetComponent<Canvas> ();
    myCanvas.enabled = false;
}
// Update is called once per frame
void Update () {
}
void OnMouseDown()
{
    // for switch on/off
    if (myCanvas.enabled)
        myCanvas.enabled = false;
    else
        myCanvas.enabled = true;
}
} 

还要确保您没有在某处的其他代码中意外启用它。