02_ue4进阶_HP条和扣血机制

新建文件夹UI,创建ui蓝图,命名为HP_bar

将进度条拖入

 设置进度条锚点为下方

 每个角色都应该由自己的hp_bar,所以要在character里面创建hp_bar,新建初始化图表

并使用游戏开始事件激活hp_bar

 给小白人蓝图添加hp_recent变量(float类型,小白人的当前血量,初始值设为100),hp_max(float类型,小白人的最大血量,初始值设置为100)

 

将两个变量放在live类别里。

回到ui蓝图,点击bar,创建绑定

 cast to  就是投映到其他蓝图上,我们要投映到小白人的蓝图上。

 将玩家控制的character赋值给这个thirdpersoncharacter。

 得到玩家角色的hp的两个变量,并求比重,然后返回。

编译运行,现在血条是满的。

 设置一个临时的测试用例,按F减少15低血。

每次按f,血量都会减少。

现在我们增加需求,根据角色的hp值,设置进度条的颜色。

我们发现颜色这里也有一个绑定

创建绑定,操作同上。

 

 比值小于等于0.3,颜色显示红色,大于0.3显示绿色

编译,测试成功

小白人蓝图增加伤害变量。

添加伤害自定义事件

 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UE4中,异步加载关卡可以使用场景流送机制。场景流送机制是一种将场景分为多个部分并按需加载的技术,可以提高游戏中的性能和效率。 在使用场景流送机制时,需要将场景分为多个Level,每个Level都是一个独立的场景,可以单独进行加载和卸载。在游戏运行时,可以使用Level Streaming Volume将场景分为多个区域,并根据玩家的位置动态地加载和卸载Level。 Level Streaming Volume是一种特殊的Volume,可以在场景中创建。它用于将场景分为多个区域,并在不同的区域之间进行场景的流送。 在使用Level Streaming Volume时,需要先创建一个Streaming Level,在Streaming Level中添加需要加载的Level,然后将Streaming Level添加到Level Streaming Volume中。当玩家进入Level Streaming Volume所在的区域时,相应的Streaming Level就会被加载,当玩家离开区域时,Streaming Level就会被卸载。 在代码中,可以使用以下函数来加载和卸载Level: ``` ULevelStreaming* UGameplayStatics::LoadStreamLevel( UObject* WorldContextObject, const FName& LevelName, bool bMakeVisibleAfterLoad, bool bShouldBlockOnLoad ); void UGameplayStatics::UnloadStreamLevel( UObject* WorldContextObject, const FName& LevelName, bool bShouldBlockOnUnload ); ``` 在加载Level时,可以选择是否在加载完成后立即显示Level,是否在加载过程中阻塞游戏等待加载完成。在卸载Level时,可以选择是否在卸载完成后立即终止游戏等待卸载完成。 使用场景流送机制可以提高游戏的性能和效率,并可以实现异步加载关卡的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无情的阅读机器

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值