UE4 按钮选中功能(UMG蓝图)

首先创建UMG一个按钮
在这里插入图片描述
在该按钮的Widget下创建一个函数
功能如下 设置按钮风格
在这里插入图片描述
在这里插入图片描述
点击Click 然后调用事件分发器
在这里插入图片描述
参数为自身
在这里插入图片描述
判断是否选中
在这里插入图片描述
创建一个主的Widget按钮为咱们自定义的按钮
在这里插入图片描述
做一个双击判定即可
在这里插入图片描述
在这里插入图片描述

### 在 Unreal Engine 中设置点击按钮触发定时器 为了实现在 Unreal Engine (UE) 中当玩家点击按钮后启动定时器的功能,可以采用多种方法。一种常见的方式是利用蓝图可视化脚本系统来快速搭建此功能;另一种则是通过编写C++代码实现更为复杂的逻辑控制。 #### 使用蓝图实现点击按钮触发定时器 在蓝图编辑器内创建一个新的 `Widget Blueprint` 来设计UI界面中的按钮组件,并为其添加相应的事件响应机制: 1. 将 Button 控件拖拽到画布上作为用户交互入口; 2. 右键单击该Button,在弹出菜单中选择 "Add Event -> OnClicked" 添加点击事件处理器; 3. 接着从节点库中找到并拉入 TimerHandle 和 SetTimerByFunctionName 节点用于管理计时操作; 4. 设置好延迟时间和循环模式参数(即 bLoop 的值),并将目标对象指向当前 Widget 或其他需要执行周期性任务的Actor实例[^3]。 以下是简化版的蓝图流程图描述: ```plaintext [Button_OnClicked] --> [SetTimerByFunctionName] | [Delay Time, Looping?] ``` 对于希望深入理解底层原理或追求更高性能表现的应用场景,则推荐采取C++编程方式完成相同效果。 #### 利用 C++ 实现点击按钮触发定时器 假设已经有一个自定义的角色类继承自 ACharacter 并实现了必要的输入绑定配置。那么可以在其中加入如下所示的关键成员变量与函数声明: ```cpp // MyCharacter.h 文件片段 class MYGAME_API AMyCharacter : public ACharacter { GENERATED_BODY() public: UFUNCTION() void StartCountdown(); private: FTimerHandle CountdownTimer; }; ``` 随后在 .cpp 文件里给出具体的实现细节: ```cpp void AMyCharacter::StartCountdown() { GetWorld()->GetTimerManager().SetTimer(CountdownTimer, this, &AMyCharacter::OnCountdownTick, 1.f /* Interval */, true /* bLoop */); } void AMyCharacter::OnCountdownTick() { // 定义每秒要做的事情... } ``` 最后一步是要确保 UI 上的按钮能够正确调用上述角色内的 `StartCountdown()` 方法。这可以通过两种途径达成:一是继续沿用蓝图连接两者之间的信号槽关系;二是借助于UMG插件提供的 API 构建纯代码驱动型解决方案[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值