‫你好, 欢迎｡
‫在这节课中, 我们将限制弹药的数量, 一旦弹药用完,
‫我们就不能再制造炮弹了.
‫我的炮弹用完了, 我甚至收到一条消息说我的弹药用完了, 我不能再产卵了｡
‫让我们来看看我们是如何做到这一点的｡
‫所以理想情况下我们希望发生的是当我们的弹药降到零的时候, 我们不再能够产生新的炮弹｡
‫但是, 我们如何通过变量中的值来控制代码流呢？
‫这个难题的解决方法是分支节点｡
‫所以分支, 让我们检查如果某事是真的或不是, 然后做一些事情的基础上的结果｡
‫你可能会有一个分支节点, 看起来像这样, 如果我饿了, 条件是我饿了,
‫那么趁妻子不注意的时候吃垃圾食品.
‫如果这不是真的, 那就继续玩电子游戏｡
‫所以这些分支节点允许我们在条件为真时做一件事, 在条件为假时做另一件事｡
‫这两个选项中的任何一个实际上都不能做任何事情｡
‫所以你只能连接假节点, 或者你只能连接真节点｡
‫这两种方法中的任何一种都会奏效｡
‫所以你会记住的｡
‫或者你可能还记得红色是与unreal中的布尔型变量相关的｡
‫所以让我们提醒自己什么是公牛？
‫bull是boolean的缩写, 有一些类型可以存储两个值之一, 真或假, 是或否｡
‫它们通常与if语句或分支一起使用｡
‫所以在未来的C++中, 我们会调用分支if语句｡
‫但这是同样的事情, 同样的概念｡
‫它们可以控制是否发生某些事情, 某些节点可以返回布尔值｡
‫那么, 什么样的节点可以返回布尔值呢？
‫我们想要什么样的答案？
‫好吧, 我们什么时候才能让演员出场？
‫我们希望什么时候创建新的抛射体？
‫我们只想在弹药量大于零时创建新的射弹｡
‫所以幸运的是, 如果你在你的事件图中右击并搜索greater, 就会有一个节点｡
‫这些类型的运算符或节点被称为比较, 因为它们接受两个值, 并在它们之间创建一个比较,
‫让我们得到一个布尔答案｡
‫因此, 较大是一个例子, 较小是另一个例子｡
‫你也可以看到这个小于等于, 这意味着它小于或等于｡
‫也有相等的是它的那也是一｡
‫相等或不相等｡
‫如果两个值相同, 则返回true｡
‫否则返回false｡
‫让我们稍微更新一下词汇表｡
‫我们已经发现, 分支是一个基于公牛的做某事或不做某事｡
‫我们已经发现, 多头或布尔型是一种是非数据类型, 而比较是小于大于等于等｡
‫它返回一个布尔值｡
‫让我们尝试使用其中一个比较｡
‫我将右键单击并在此处添加更大的比较｡
‫然后, 我将控制单击ammo变量, 并将其拖动到比较节点的第一个节点｡
‫你可以看到这里的默认值实际上大于零｡
‫所以这正是我们想要的｡
‫我们有一个节点, 表示弹药是否大于零, 返回值是一个布尔值, 如果是, 则表示是, 如果不是,
‫则表示否.
‫我们要做的就是取这个bool返回值, 拖动它, 然后搜索分支.
‫然后我们可以添加一个分支节点, 它会自动将输入条件连接到我们拖动的布尔值｡
‫现在, 我将把空格键事件拖回, 并将其按下的节点执行引脚拖到分支的输入中｡
‫这将执行我们的分支｡
‫然后我们希望分支, 如果它是真的, 继续繁殖抛射体否则它什么都不做.
‫我们来试试这个｡
‫如果我们点击播放, 然后我们产生大量的抛射物, 我们使我们的抛射物价值下降到零｡
‫你现在可以看到, 无论我怎么按空格键, 我都不会再得到任何投射物｡
‫所以我想挑战你打印出弹药｡
‫所以使用false分支, 这样我们就可以在这里添加一个print节点｡
‫基本上, 当我们没有弹药的时候, 我希望你能打印出弹药｡
‫因此, 请测试您的代码并检查是否发生了这种情况｡
‫暂停视频, 开始体验｡
‫好吧, 我会的
‫欢迎回来｡
‫我们得到了分支节点的第二个分支｡
‫我们把它拖后一点这样我们就不会和这些执行针交叉了｡
‫而false分支应该到这里, 在这里它要打印字符串｡
‫我想打印的字符串只是没子弹了｡
‫现在, 如果我们继续玩游戏, 发射所有20发炮弹弹药, 你可以看到,
‫每次我点击空格键, 它只是打印出我没有弹药的消息, 给玩家的指示,
‫为什么没有更多的球产卵到场景中｡
‫这节课到此为止｡
‫我们下一场见｡