为了账号安全,请及时绑定邮箱和手机立即绑定

Unity按钮点击不触发事件

Unity按钮点击不触发事件

C#
四季花海 2021-07-06 21:53:10
我查看了位于此处的处理相同问题的帖子,但它既没有说明问题所在,也没有解决我的问题。我在面板中创建了一个带有多个按钮的 Canvas 预制件。我在运行时实例化预制件并抓取Button面板中的所有对象。然后我onClick()为所有调用相同clicked()方法的按钮添加一个监听器到事件中public class GameOptions{    private GameObject canvas;    public GameOptions(GameObject canvas)    {        this.canvas = canvas;        GameObject.Instantiate(canvas);                Text[] textObjects = canvas.GetComponentsInChildren<Text>();        Button[] buttonObjects = canvas.GetComponentsInChildren<Button>();        for (int i = 0; i < buttonObjects.Length; i++)        {            Debug.Log(buttonObjects[i].name);            buttonObjects[i].onClick.AddListener(() => clicked());            buttonObjects[i].onClick.Invoke();        }    }    public void clicked()    {        Debug.Log("Clicked!");    }}请注意,当我通过代码调用事件时,clicked()被调用并“点击!” 正确输出到控制台。但是,单击时没有任何按钮触发事件。我还注意到检查器中 OnClick 中的 PersistentCalls.Calls 数组在运行时对于所有按钮都有 0 个元素。我在 Windows 10 64 中使用 Unity 2017.4.3f1。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信