【问题标题】:toggle to activate/deactivate gameobjects切换以激活/停用游戏对象
【发布时间】:2020-11-29 09:29:40
【问题描述】:

我正在做一个项目,我希望面板中的一系列切换来表示操作清单。基本上,当操作员按下切换按钮时,我希望一些游戏对象消失:问题是对 OnValueChanged 的​​正常调用不起作用,因为有多个切换并且每个切换应该停用/激活特定的游戏对象。现在,当我按下第一个切换时,同时呈现其他切换的效果。它们都从禁用 IsOn 开始,我希望玩家逐步检查每个切换。任何的想法?现在,切换的工作方式相同,即使它们都具有 IsOn = false 并且不应该,至少不是所有同时。谢谢!

【问题讨论】:

    标签: unity3d toggle


    【解决方案1】:

    要检查GameObject 是否处于活动状态,您可以使用GameObject.activeSelf 检查GameObject 的当前状态,然后根据该状态打开或关闭它。

    切换功能:

    public void ToggleGameObject(GameObject go) {
        if (go.activeSelf) {
            go.SetActive(false);
        }
        else {
             go.SetActive(true);
        }
    }
    

    在您的情况下,函数调用看起来像这样。您可以添加多个切换函数和多个GameObject 引用,因为它们都将由您的ToggelGameObject 方法单独处理。

    函数调用:

    [SerializeField]
    private GameObject toggleGO;
    
    public void OnToggleClick() {
        ToggleGameObject(toggleGO);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 2018-07-25
      • 1970-01-01
      相关资源
      最近更新 更多