‫你好, 欢迎｡
‫这节课, 我们增加了一个健康条, 你们可以在左下角看到.
‫我们也让我们的球员比敌人更强硬, 这样我们就可以在我们的生命耗尽之前射杀很多敌人｡
‫让我们一起来看看如何制作健康棒｡
‫所以目前, 我们无法知道我们是否还有足够的健康｡
‫作为一个玩家, 根据我们目前的生命值, 我们还能玩多久？
‫现在开始吧｡
‫我想把健康棒介绍给我们的引擎盖｡
‫我们将转到HUD小工具来完成此操作｡
‫如果在艾德上尚未打开, 我们将在palate中查找进度条, 并引入此进度条｡
‫现在, 为什么要有进度条？
‫因为它实际上也具有运行状况栏的所有属性,
‫也就是说, 如果我们在详细信息窗格中向下滚动到百分比, 那么您可以看到,
‫通过更改该百分比（实际上是0和1之间的一个数字, 因此名称有点混乱）, 您可以看到我们的栏被填满并耗尽｡
‫所以我们真正要做的是从1的百分比开始, 然后逐渐减少, 直到达到0的百分比,
‫这一点我们的策略就完蛋了.
‫这就是我们的目标｡
‫我在这里要做的是继续更改填充样式｡
‫所以我们要把它填充一点, 然后看看填充图像和变化｡
‫看看能不能改变颜色｡
‫变成一点绿色, 典型的健康颜色｡
‫然后让它超级明显｡
‫我们现在得到的是健康｡
‫我将添加一个文本块, 标记为“健康”, 然后将其粘贴到健康栏旁边, 就像这样｡
‫然后选择这两个组件, 我想将它们锚在左下角,
‫这样它们就可以随着屏幕的左下角移动｡
‫所以这就是我要做的｡
‫它消失了, 改变了锚点的默认值, 我实际上要把它们都移到离左下边缘更近的地方｡
‫我会把它编译好, 然后我们来玩一玩｡
‫如果我们有全屏, 你可以看到健康栏就在左下角, 虽然很明显,
‫它目前根本不代表我们的健康｡
‫为此, 我们要公开一个函数, 从Ashe到character, 从CPP到蓝图,
‫这样我们就可以在Uag小部件中获得它｡
‫所以我基本上会复制蓝图pure, 我们已经死了, 但是我们不会返回布尔值, 我们会返回一个浮点数,
‫它是0和1之间的百分比, 不是一个百分比,
‫更像是一个分数, 但是我们会称之为get health percent｡
‫我们希望它既是蓝图, 又是常量, 因为当我们调用它的时候,
‫它不应该以任何方式改变这个类, 然后我们继续控制shift, p, 创建实现,
‫我们要返回的是以百分比表示的健康状况｡
‫所以想想吧, 给你一个小小的挑战｡
‫你如何计算健康状况占总健康状况的百分比？
‫欢迎回来｡
‫我们来试试看, 健康值除以最大值, 健康值就是这么简单, 因为当我们有最大健康值时,
‫它就是1.
‫当我们的健康状况为零时, 它将是零, 并且在两者之间的任何地方｡
‫所以让我们回到编辑器并编译｡
‫然后我们将进入HUD用户界面, 我们需要以某种方式获得该角色｡
‫我们要做的是转到进度条, 然后向下滚动到百分比属性所在的位置｡
‫在它的旁边, 你可以看到一个叫做绑定的按钮｡
‫如果你把它下拉并创建绑定, 那么这将创建一个函数, 它的工作是获取百分比值｡
‫每次返回不同的值时, 它都会更新UI｡
‫所以这是相当简单的｡
‫这叫做“获得百分比”｡
‫让我们给它取个更好的名字吧｡
‫我将点击它, 转到详细信息, 然后将其重命名为Get Health, 就像这样｡
‫然后我们需要做的是以某种方式抓住我们的性格｡
‫我们可以这样做, 首先, 这个UI连接到播放器控制器上, 这样我们就可以控制播放控制器了｡
‫然后从播放控制器我们可以得到它的控制——｡
‫事实上, 如果你搜索pawn, 你可以看到有一个get owning player
‫pawn直接实现这个功能.
‫它继续前进, 得到拥有的球员, 然后它得到它正在控制的棋子｡
‫然后, 我们需要做的是将角色转换为射手角色, 以便访问我们刚刚创建的函数｡
‫然后从那里我们可以得到健康百分比, 我们可以把它传递到我们的返回节点,
‫并确保我们从投射手角色传递我们的执行引脚｡
‫然后我将继续编译并保存它, 然后点击播放｡
‫我们应该看到的是一个100%的生命值条, 然后在我们被击中时下降, 我有点慢才看到这一点｡
‫所以我打算从主关卡的视口中点击生命值条到1, 然后它到一半, 然后你就死了｡
‫所以这一切发生得有点太快了｡
‫所以我想挑战你只增加球员的生命, 而不是A的生命｡
‫我想有一种水平的感觉, 就是你们两个开枪打死敌人的那种｡
‫但是你的球员有更多的生命, 它需要更多的镜头从人工智能, 真正让你下来, 因为你是一个大,
‫强大的英雄｡
‫所以这里的想法是为玩家创建一个孩子｡
‫所以这是一个角色类的子类, 但不仅仅是角色类的, 可能已经是蓝图类的了.
‫你得重写几个不同的变量｡
‫也就是说, 最大健康将是更高的球员,
‫也许你想要一个不同的网格, 以区分你周围的所有敌人对视频, 看看你是否可以在这个挑战去｡
‫好吧, 我会的
‫欢迎回来｡
‫我们将进入内容文件夹并找到角色｡
‫我们有BP射手的角色｡
‫我将右键单击它,
‫然后在这里创建一个子蓝图类, 它将是一个BP下划线玩家射击角色, 就像这样.
‫现在打开此蓝图, 它将具有其父蓝图的所有相同属性, 因为这些属性已在父蓝图中设置｡
‫但现在我们可以选择覆盖一些东西｡
‫我首先要覆盖的是网格｡
‫所以我们要开始了｡
‫这是一个红色网格｡
‫我觉得这对敌人有好处｡
‫但我想要的是我的英雄的绿色网格｡
‫所以很明显, 他是一个不同的人｡
‫然后我们将转到根目录或类默认值, 并更改最大生命值.
‫所以我希望他的血量是这个等级敌人的十倍左右｡
‫我将继续编译并保存它｡
‫然后我们要做的另一件事就是去改变我们的蓝图｡
‫我们将找到BP KML增益模式,
‫并将默认类从BP射击游戏角色更改为BP玩家射击游戏角色, 因为我们已经将射击游戏角色放置在世界中, 然后我们将继续单击“播放”｡
‫你可以看到我们有了一个不同的角色｡
‫他看起来不一样了｡
‫当他被击中时, 我们的生命值下降得更慢, 我可以短杀敌人｡
‫但如果你在场景中放置足够多的敌人, 这仍然是相当具有挑战性的｡
‫这节课就讲到这里｡
‫我们已经看到了如何使用绑定和进度条组件来添加健康组件｡
‫在下一节课中, 我们会再看一遍动画,
‫让我们的玩家能够用网格上下瞄准.
‫我会看到你在那里｡