UE5 WidgetComponent鼠标交互

1、准备好要交互的控件蓝图(WidgetBlueprint),添加要响应的事件(如:按键点击(OnClicked)、按键按下(OnPressed)),或设置滚动条等控件的交互方式。

2、在要显示3D控件的蓝图中添加WidgetComponent组件,然后在该组件的细节(Details)面板中的交互(Interaction)栏下勾选接收硬件输入项(ReceiveHardwareInput)。

3、在玩家角色蓝图的相机组件(CameraComponent)下添加空间交互组件(WidgetInteractionComponent),然后再设置该组件的细节(Details)面板,如下:

其中交互距离(InteractionDistance)设置大一些,显示调试(ShowDebug)根据调试情况可勾选或不勾选。

4、在内容浏览器中的自定义路径中,创建输入动作(InputAction)资源文件IA_Click和IA_wheel,值类型(ValueType)分别为数字布尔(Digital bool)和一维轴浮点(Axis1D float)类型。

5、创建输入映射关联(InputMappingContext)资源文件IMC_MouseClickWheel。打开该文件,在映射栏中添加IA_Click和IA_wheel输入动作,分别添加控制绑定映射,设置硬件输入关联,主要为鼠标左键(LeftMouseButton)和鼠标滚轮轴(MouseWheelAxis)

6、在玩家角色蓝图中添加蓝图节点如下,为玩家控制器添加输入映射关联(AddMappingContext)为IMC_MouseClickWheel

7、在蓝图图表中添加输入动作事件IA_Click和IA_wheel,并分别为事件逻辑引脚添加控件交互动作的信号源,如下

至此就已完成了WidgetComponent交互的主要过程,可以响应控件蓝图中控件的点击、按下、释放、滚动了。

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用 Unreal Engine 5 (UE5) 中的蓝图来实现长按鼠标键的功能。下面是一个简单的示例: 1. 在 UE5 中创建一个新的蓝图,或者打开现有的蓝图。 2. 在蓝图编辑器中,找到事件图表,并右键单击空白处,然后选择 "Input" -> "Mouse Button" -> "Left Mouse Button"。 3. 在左侧的事件图表面板中,找到 "Button Events" 部分,并将 "Button Event" 拖动到右侧的事件图表面板中。 4. 拖动 "Button Event" 到右侧的事件图表面板中,并选择 "Pressed"(按下)事件。 5. 右键单击 "Pressed" 事件,然后选择 "Add Custom Event"(添加自定义事件)。 6. 给自定义事件命名,比如 "OnLongPressStart"(长按开始)。 7. 连接 "Pressed" 事件和自定义事件节点,以将其触发。 8. 在自定义事件节点中,添加你想要执行的逻辑,比如播放声音或者改变游戏状态。 9. 在左侧的事件图表面板中,找到 "Button Events" 部分,并将 "Button Event" 拖动到右侧的事件图表面板中。 10. 拖动 "Button Event" 到右侧的事件图表面板中,并选择 "Released"(释放)事件。 11. 右键单击 "Released" 事件,然后选择 "Add Custom Event"(添加自定义事件)。 12. 给自定义事件命名,比如 "OnLongPressEnd"(长按结束)。 13. 连接 "Released" 事件和自定义事件节点,以将其触发。 14. 在自定义事件节点中,添加你想要执行的逻辑,比如停止播放声音或者恢复游戏状态。 这样,在 UE5 中就可以实现长按鼠标键的蓝图功能了。你可以根据自己的需求来添加其他逻辑或者改变按键类型。希望这对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值