You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unreal Engine蓝图:批量创建UI按钮的点击监听及对象过滤问题

解决UE蓝图批量按钮点击获取名称的问题

最优方案:批量创建按钮时直接绑定点击事件

这是比事后遍历Widget对象高效得多的做法,步骤如下:

  • 遍历你的数据数组,每创建一个按钮时:
    1. 将对应数据的名称赋值给按钮的Widget Name属性,或者自定义一个存储名称的变量
    2. 直接调用按钮的OnClicked绑定事件,在绑定的事件逻辑里直接获取当前按钮的名称(绑定事件时可直接把按钮本身作为参数传递,或者在事件内直接引用该按钮)
    3. 将配置好的按钮添加到Widget容器中

针对你现有方法的修正:过滤数组保留按钮对象

如果坚持要用“点击时获取Widget内所有对象”的方式,必须过滤数组:

  • 使用Filter Array节点,过滤条件选择「Class Is Child Of」,目标类选择Button(或你的自定义按钮类)
  • 过滤后的数组仅包含按钮对象,此时可遍历该数组,对每个按钮调用Is Pressed节点(注意:这种方式是在点击帧检测所有按钮的按压状态,精准度和性能都不如绑定事件的方案)

关键提醒

类型不兼容的问题绝对不能忽略,UE蓝图的类型检查机制很严格,强行连接不兼容的节点会导致运行时错误或逻辑失效。绑定事件的方式是批量UI交互处理的通用方案,逻辑更简洁,性能也更优。

内容的提问来源于stack exchange,提问作者Shadow Edwards

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:30:01