我对 Unity 相当陌生,但我遇到了 Button 函数继承的问题。我有一个 UI 对象,其中包含我的 game_controller 脚本和三个按钮作为子对象。当我尝试将脚本中的函数添加到按钮时,game_controller函数不会出现。
我原以为脚本会从父级继承,但事实似乎并非如此。相反,该选项根本不会出现。我认为答案相当简单,但我一直找不到它。
当您尝试将 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
字段