目录
一,创建UI
创建WB_HUD(Widget Blueprint);

设置UI界面,生命条、耐力条及显示数值;
- 注意设置为变量,以便蓝图调用;


二,创建actor component
创建蓝图组件 BPC_PlayerStats;
- 将相关函数全部设置在此组件内,以供角色蓝图调用;
- 避免在角色蓝图内过多的定义变量或函数;

创建相应变量及函数;

游戏开始时,获取拥有该组件的玩家角色;
- 开始即读取当前状态值;
- 开始时可能角色蓝图还未创建HUD,造成读取问题,可延迟一帧;


设置健康相关函数
设置Increase Health函数,即健康值随伤害降低,当健康值小于等于0时输出死亡;

设置Decrease Health函数,即增加健康值,但不要超过最大健康值;

设置Increase Max Health函数,即增加最大健康值;

设置耐力相关函数
设置Increase Stamina函数,即随耐力值降低,当健康值小于等于0时输出无耐力剩下;

设置Decrease Stamina函数,即增加耐力值,但不要超过最大耐力值;

设置Increase Max Stamina函数,即增加最大健康值;

三,设置玩家角色蓝图
在玩家角色蓝图内,游戏开始Event Begin Play创建UI配件并添加到视图中;
- 添加并设置HUD Widget变量,以供后续组件调用;

添加组件到玩家角色蓝图,从而可应用设置好的组件函数;

设置角色受伤害效果;
- 角色mesh碰撞设置为Collision Enabled(Query and Physics);
- 胶囊体组件碰撞设置为IgnoreOnlyPawn;


调试,应用伤害;

四,冲刺消耗耐力
在内容浏览器内,创建新输入动作IA_Sprint,并设置IMC_Default;

设置角色蓝图
- 按键冲刺时,行走速度达到750,释放按键后,行走速度恢复500;
- 冲刺消耗耐力,耐力消耗完,行走速度恢复500;
- 避免蹲下时也冲刺;另外冲刺时也避免可以蹲下;
- 计时器内,必须是角色速度大于零且是在walk运动模式下才消耗耐力;

- 角色静止时,会慢慢恢复耐力值;

设置冲刺动画
- 复制模板的MM_Run_Fwd动画,调整Rate Scale以创建冲刺动画;

- 调整LocomotionBlendSpace1D,但速度达到750时播放冲刺动画;

五,设置经验值
在WB_HUD内设置经验值UI;

在BPC_PlayerStats内设置函数
- 增加经验值 Increase XP

- 增加级数 Increase Level




被折叠的 条评论
为什么被折叠?



