做一个有交互的血条

做一个有交互的血条

首页游戏大全我和我的血条手游更新时间:2024-05-09

大家好,我是很久不见,主要从事的方向是引擎美术。

本期文章使用虚幻引擎中制作一个有交互效果的血条,先来看一下最终完成的效果。

下面来说一下实现的过程。

1创建项目工程

首先创建一个第一人称的射击项目,这个是虚幻引擎自带的工程内容。

在模板里选择“第一人称游戏”,并创建项目。

2创建血条和攻击对象

首先新建一个控件蓝图。

把原有的画布面板删掉,用一个垂直框代替。

在垂直框中拖入文本和进度条。

把垂直框的大小设置为200*40。

适当修改一下文字的大小。

修改后的血条长这样。

然后新建一个蓝图类,类型选择Pawn。

在蓝图类的视口中添加一个圆柱体和一个控件组件。

选中控件组件,将刚才制作的血条界面放到用户界面的控件类中,绘制大小调整为与之前界面尺寸一致。

适当调整一下位置比例关系。

3血条与摄像机的相对旋转

首先创建一个自定义事件。

然后设置Widget的场景旋转。

Widget的旋转需要与摄像机的一致,这里用到了一个“寻找查看旋转”节点。

然后做了一个分支开关。

然后把这个自定义事件连给Tick,运行后就有了血条朝向摄像机的效果了。

4子弹伤害效果的实现

创建两个浮点类型的变量,总生命和当前生命值浮点都设置参数为100,并开启可编辑实例。

右键创建“事件任意伤害”,当前生命值减去伤害就是剩余的当前伤害数值了。

当生命值小于0时候,销毁组件。

这里有一个问题,就是当Widget组件销毁后,之前的摄像机与血条的旋转还没有停止,所以在这里做了一个分支用来切断刚才的Tick事件。

接下来需要把子弹的伤害数值给到对应的蓝图中。

在工程里找到枪和子弹的蓝图。

在子弹的蓝图中,修改了碰撞体的碰撞预设类型,并开启了“组件命中时”事件。

应用伤害,并设置了子弹的伤害数值。

打开枪的蓝图,此时会看到在开火事件中的从类生成Actor中,多了一个刚才设置的子弹伤害数值,拖出来并设置这个变量为20,开启可编辑实例。

回到刚才的血条界面里,应用刚才的伤害数值。

首先选中进度条,在百分比这里创建绑定。

获取类的Actor,选择刚才带血条的攻击对象蓝图,用当前生命除以总生命就是血条进度条的浮点数值,注意这里的进度百分比只能是0到1之间。

在文本内容这里也创建绑定。

把刚才的数值乘以100,就是当前血量的数值了。

最后直接运行就可以看到效果了。

以上就是本次案例的内容了。

本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!

,
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved