unity3d Unity On Click()按钮界面未显示功能< SOLVED>

deyfvvtc  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(267)

我是Unity的新手,但是我遇到了一个关于Button函数继承的问题。我有一个UI对象,其中有我的 game_controller 脚本和三个按钮作为子对象。当我试图从脚本中添加一个函数到按钮时,game_controller 函数不会出现。

我希望脚本是从父脚本继承的,但情况似乎并非如此。相反,该选项根本不会出现。我想答案很简单,但我一直没能找到。

bxfogqkk

bxfogqkk1#

当你尝试将一个GameObject放在OnClick监听器区域时,它只会获取所有附加到该GameObject的类(而不是父类),以便你能够从该类(对你来说是game_controller)中连接你的特定方法
既然你不想那样,你能做的就是,

  • game_manager脚本中创建Button类型的变量
  • Button组件连接所有游戏对象
  • 将您的方法添加到它们各自的ButtonOnClick Listener

具有广泛和正式使用的命名约定的示例代码

using UnityEngine;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
    public Button HoldButton;
    public Button AnotherButton;
    
    private void Start()
    {
        // add methods to be called when the buttons are clicked
        HoldButton.onClick.AddListener(OnHoldButtonClicked);
        AnotherButton.onClick.AddListener(DoSomething);
    }
    
    private void OnHoldButtonClicked()
    {
        // what will happen when hold button is clicked
    }

    private void DoSomething()
    {
        // what will happen when another button is clicked
    }
}

game_manager的检查器中,将按钮添加到正确的Button字段

相关问题