温馨提示:这篇文章已超过455天没有更新,请注意相关的内容是否还可用!
摘要:UE5 GAS开发中,P32和P33阶段主要实现了状态的初始化和HUD绑定。玩家在拾取物品时,血量会增加而蓝量会减少。这一过程涉及UE5 GAS的初始化设置,以及将状态与HUD关联的技术。通过讲解P32和P33的内容,详细阐述了实现拾取物品血蓝功能增减的流程和要点。
在基于UE5的GAS框架的游戏开发中,我们成功实现了P32和P33状态的初始化并与HUD界面绑定,通过拾取物品,玩家可以实时增加角色的健康值并减少法力值,这一核心机制显著提升了游戏的体验。
详细修改内容:
1、修改AuraAttributeSet.cpp:
* 完成了UAuraAttributeSet的初始化,设置了关键属性如健康值(Health)、最大健康值(Max Health)、法力值(Mana)和最大法力值(Max Mana)。
2、修复bug:
* 在AuraUserWidget.cpp中修复了一个bug,优化了SetWidgetController方法的逻辑,确保状态修改能够准确被检测到并反映。
3、新增变量至AuraEffectActor:
* 在AuraEffectActor.h中,新增了EffectActorHealth和EffectActorMana变量,以实时反映角色的健康值和法力值状态变化。
4、修改AuraEffectActor.cpp:
* 在OnOverlap方法中,根据接触到的AuraPlayerState修改角色的健康值和法力值,采用const_cast来修改常量属性的值,虽然这是临时解决方案,但有效地满足了需求。
5、修改OverlayAuraWidgetController:
* 在OverlayAuraWidgetController.h中,定义了多个代理,以便在属性变化时触发相应操作。
* 在OverlayAuraWidgetController.cpp中,实现了初始化及绑定属性变化事件的方法,确保属性的变化能够实时更新到HUD界面。
6、修改AuraHUD.cpp:
* 将角色的状态(如健康值和法力值)成功集成到HUD界面上。
7、蓝图WdigetController和HUD界面的调整:
* 调整了蓝图WdigetController,更新了HUD的UI界面,以更直观地展示角色的健康值和法力值变化。
8、WBP_Overlay和WBP_GlobeProgressBar的细化调整:
* 对WBP_Overlay进行了细节调整,WBP_GlobeProgressBar内添加了函数以动态调整角色的健康值和法力值的展示方式。
9、药水界面的更新:
* 玩家在使用药水时,界面上的健康值和法力值会实时更新,为玩家提供直观的反馈。
图片展示说明:
1、展示了经过修改的HUD界面,其中包含角色的关键信息,如健康值和法力值。
2、展示了药水界面的详细修改,包括健康值和法力值的动态更新情况。
3、展示了经过调整的WdigetController蓝图,更直观地呈现了游戏内的交互逻辑。
本次修改的核心目标是实现角色健康值和法力值的实时更新,并在UI界面上动态展示这些变化,从而提升游戏的交互性和动态性,经过这一系列改进,游戏将变得更加生动、有趣,为玩家提供更加丰富和真实的游戏体验。
还没有评论,来说两句吧...