大家好,我是很久不见,主要从事的方向是引擎美术。
本期文章使用虚幻引擎中制作一个有交互效果的血条,先来看一下最终完成的效果。
下面来说一下实现的过程。
1创建项目工程
首先创建一个第一人称的射击项目,这个是虚幻引擎自带的工程内容。
在模板里选择“第一人称游戏”,并创建项目。
2创建血条和攻击对象
首先新建一个控件蓝图。
把原有的画布面板删掉,用一个垂直框代替。
在垂直框中拖入文本和进度条。
把垂直框的大小设置为200*40。
适当修改一下文字的大小。
修改后的血条长这样。
然后新建一个蓝图类,类型选择Pawn。
在蓝图类的视口中添加一个圆柱体和一个控件组件。
选中控件组件,将刚才制作的血条界面放到用户界面的控件类中,绘制大小调整为与之前界面尺寸一致。
适当调整一下位置比例关系。
3血条与摄像机的相对旋转
首先创建一个自定义事件。
然后设置Widget的场景旋转。
Widget的旋转需要与摄像机的一致,这里用到了一个“寻找查看旋转”节点。
然后做了一个分支开关。
然后把这个自定义事件连给Tick,运行后就有了血条朝向摄像机的效果了。
4子弹伤害效果的实现
创建两个浮点类型的变量,总生命和当前生命值浮点都设置参数为100,并开启可编辑实例。
右键创建“事件任意伤害”,当前生命值减去伤害就是剩余的当前伤害数值了。
当生命值小于0时候,销毁组件。
这里有一个问题,就是当Widget组件销毁后,之前的摄像机与血条的旋转还没有停止,所以在这里做了一个分支用来切断刚才的Tick事件。
接下来需要把子弹的伤害数值给到对应的蓝图中。
在工程里找到枪和子弹的蓝图。
在子弹的蓝图中,修改了碰撞体的碰撞预设类型,并开启了“组件命中时”事件。
应用伤害,并设置了子弹的伤害数值。
打开枪的蓝图,此时会看到在开火事件中的从类生成Actor中,多了一个刚才设置的子弹伤害数值,拖出来并设置这个变量为20,开启可编辑实例。
回到刚才的血条界面里,应用刚才的伤害数值。
首先选中进度条,在百分比这里创建绑定。
获取类的Actor,选择刚才带血条的攻击对象蓝图,用当前生命除以总生命就是血条进度条的浮点数值,注意这里的进度百分比只能是0到1之间。
在文本内容这里也创建绑定。
把刚才的数值乘以100,就是当前血量的数值了。
最后直接运行就可以看到效果了。
以上就是本次案例的内容了。
本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!
怎样用易语言做一个血条,点击按钮后,血条随机减少几点血并缩短,求源码,大神写下!!!!
可以用进度条组件,然后取随机数命令减血效果
1.先设置进度条最大位置,然后根据随机数来设置进度条的状态
命令如
进度条1.最大位置=100
进度条1.位置=50
此时效果应该是进度条在中间位置的状态
另外,进度条这是最基本的,如果这都要别人这,你要这源码没有意义
______帮助他人,快乐自己
如果我的回答有帮到你请采纳
html 动态 进度条,类型血条增加的,求代码加注释,简单就好。
HTMl是静态的啦,要通过服务器才能实现动态的数据交互效果。
例如用户每选择一次,就将数据传回给服务器数据库中,服务器再根据运算返回票数变动后的各数据表现(如进程条增加一定比例的长度和百分数增加等)
当然如果你只是想一次性显示最终结果,可以用一个div包含另一个div实现静态效果:
<div style="width:400px;height:10px;background:#EDEDED;">
<div style="background:#FFED04;width:70px;height:10px;"></div>
</div>