Unity On Click() 按钮界面不显示功能

问题描述 投票:0回答:1

我对 Unity 相当陌生,但我遇到了 Button 函数继承的问题。我有一个 UI 对象,其中包含我的 game_controller 脚本和三个按钮作为子对象。当我尝试将脚本中的函数添加到按钮时,game_controller函数不会出现。

ParentObject

我原以为脚本会从父级继承,但事实似乎并非如此。相反,该选项根本不会出现。我认为答案相当简单,但我一直找不到它。

unity-game-engine inheritance button onclick
1个回答
0
投票

当您尝试将 GameObject 放入 OnClick 监听器区域时,它只会获取附加到该 GameObject 的所有类(不是父级),以便您能够从该类连接您的特定方法(对于您来说,这是

game_controller

既然你不想这样,你能做的就是,

  • Button
    脚本中创建
    game_manager
    类型的变量
  • 使用
    Button
    组件附加所有游戏对象
  • 将您的方法添加到各自的
    Button
    OnClick 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
字段

© www.soinside.com 2019 - 2024. All rights reserved.