UE5 角色冲刺+耐力条

A、实现思路

1、在Actions里增加冲刺的IA事件,在IMC里配置相关按键。

2、BP中增加相关逻辑。

有两种情况:

a、无耐力条时,直接修改两种速度即可,没有额外限制。

IA_sprint事件里,修改角色的最大移动速度,冲刺时速度变快,反之恢复正常。

b、有耐力条时,限制较多,冲刺时会消耗,平时会恢复。

按键触发事件后,根据耐力值的不同,产生不同的状态与速度。

UI里相关变量要链接新函数,要获取角色的耐力值,在主界面显示出来。

B、参考图表

1、无耐力条

2、有耐力条

UE5中使用C++定义和使用结构体,可参考以下步骤: ### 定义结构体 在UE5里,若要使用反射系统对结构体字段值进行获取与设置,需对结构体和字段进行UE标记。下面是一个定义结构体的示例: ```cpp USTRUCT(BlueprintType) struct FTestStruct { GENERATED_BODY() UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "TestStruct") double aa; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "TestStruct") double bb; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "TestStruct") int cc; }; ``` 在这个示例中,`USTRUCT(BlueprintType)` 表明该结构体能够在蓝图中使用,`GENERATED_BODY()` 宏是必需的,它会自动生成结构体的反射信息。`UPROPERTY` 宏用于标记结构体的字段,使其可在编辑器中编辑,并且能在蓝图中读写,同时还能指定字段所属的类别 [^1]。 ### 使用结构体 定义好结构体之后,就能在代码里使用它了。下面是一个简单的使用示例: ```cpp // 创建结构体实例 FTestStruct TestInstance; // 设置结构体字段的值 TestInstance.aa = 1.0; TestInstance.bb = 2.0; TestInstance.cc = 3; // 获取结构体字段的值 double AValue = TestInstance.aa; double BValue = TestInstance.bb; int CValue = TestInstance.cc; ``` ### 结构体与蓝图交互 如果结构体被标记为 `BlueprintType`,就可以在蓝图中使用它。在蓝图中,能够创建结构体的实例,对其字段值进行设置和获取。 ### 结构体的反射使用 借助UE的反射系统,能够在运行时动态地获取和设置结构体的字段值。不过,反射的使用相对复杂,需要更深入地了解UE的反射机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值