﻿1
00:00:04,480 --> 00:00:05,530
‫你好, 欢迎｡

2
00:00:05,530 --> 00:00:12,040
‫在这节课中, 我们将限制弹药的数量, 一旦弹药用完,

3
00:00:12,040 --> 00:00:16,170
‫我们就不能再制造炮弹了.

4
00:00:16,390 --> 00:00:22,270
‫我的炮弹用完了, 我甚至收到一条消息说我的弹药用完了, 我不能再产卵了｡

5
00:00:22,270 --> 00:00:24,700
‫让我们来看看我们是如何做到这一点的｡

6
00:00:25,540 --> 00:00:34,930
‫所以理想情况下我们希望发生的是当我们的弹药降到零的时候, 我们不再能够产生新的炮弹｡

7
00:00:34,930 --> 00:00:42,760
‫但是, 我们如何通过变量中的值来控制代码流呢？

8
00:00:42,760 --> 00:00:47,170
‫这个难题的解决方法是分支节点｡

9
00:00:47,170 --> 00:00:54,490
‫所以分支, 让我们检查如果某事是真的或不是, 然后做一些事情的基础上的结果｡

10
00:00:54,490 --> 00:01:00,790
‫你可能会有一个分支节点, 看起来像这样, 如果我饿了, 条件是我饿了,

11
00:01:00,790 --> 00:01:04,660
‫那么趁妻子不注意的时候吃垃圾食品.

12
00:01:04,660 --> 00:01:08,470
‫如果这不是真的, 那就继续玩电子游戏｡

13
00:01:08,470 --> 00:01:15,040
‫所以这些分支节点允许我们在条件为真时做一件事, 在条件为假时做另一件事｡

14
00:01:15,040 --> 00:01:18,010
‫这两个选项中的任何一个实际上都不能做任何事情｡

15
00:01:18,010 --> 00:01:23,080
‫所以你只能连接假节点, 或者你只能连接真节点｡

16
00:01:23,110 --> 00:01:25,570
‫这两种方法中的任何一种都会奏效｡

17
00:01:25,570 --> 00:01:27,550
‫所以你会记住的｡

18
00:01:27,550 --> 00:01:35,050
‫或者你可能还记得红色是与unreal中的布尔型变量相关的｡

19
00:01:35,050 --> 00:01:37,660
‫所以让我们提醒自己什么是公牛？

20
00:01:38,080 --> 00:01:45,700
‫bull是boolean的缩写, 有一些类型可以存储两个值之一, 真或假, 是或否｡

21
00:01:45,790 --> 00:01:49,390
‫它们通常与if语句或分支一起使用｡

22
00:01:49,390 --> 00:01:53,590
‫所以在未来的C++中, 我们会调用分支if语句｡

23
00:01:53,590 --> 00:01:56,200
‫但这是同样的事情, 同样的概念｡

24
00:01:56,200 --> 00:02:01,870
‫它们可以控制是否发生某些事情, 某些节点可以返回布尔值｡

25
00:02:01,870 --> 00:02:04,360
‫那么, 什么样的节点可以返回布尔值呢？

26
00:02:04,360 --> 00:02:06,610
‫我们想要什么样的答案？

27
00:02:06,610 --> 00:02:13,450
‫好吧, 我们什么时候才能让演员出场？

28
00:02:13,450 --> 00:02:16,600
‫我们希望什么时候创建新的抛射体？

29
00:02:16,600 --> 00:02:24,100
‫我们只想在弹药量大于零时创建新的射弹｡

30
00:02:24,100 --> 00:02:32,140
‫所以幸运的是, 如果你在你的事件图中右击并搜索greater, 就会有一个节点｡

31
00:02:32,170 --> 00:02:40,660
‫这些类型的运算符或节点被称为比较, 因为它们接受两个值, 并在它们之间创建一个比较,

32
00:02:40,660 --> 00:02:45,070
‫让我们得到一个布尔答案｡

33
00:02:45,070 --> 00:02:48,940
‫因此, 较大是一个例子, 较小是另一个例子｡

34
00:02:48,940 --> 00:02:52,840
‫你也可以看到这个小于等于, 这意味着它小于或等于｡

35
00:02:52,870 --> 00:02:56,890
‫也有相等的是它的那也是一｡

36
00:02:56,890 --> 00:02:58,570
‫相等或不相等｡

37
00:02:58,570 --> 00:03:01,210
‫如果两个值相同, 则返回true｡

38
00:03:01,240 --> 00:03:02,920
‫否则返回false｡

39
00:03:02,920 --> 00:03:05,020
‫让我们稍微更新一下词汇表｡

40
00:03:05,020 --> 00:03:09,460
‫我们已经发现, 分支是一个基于公牛的做某事或不做某事｡

41
00:03:09,460 --> 00:03:20,950
‫我们已经发现, 多头或布尔型是一种是非数据类型, 而比较是小于大于等于等｡

42
00:03:20,950 --> 00:03:20,950
‫它返回一个布尔值｡

43
00:03:20,950 --> 00:03:24,760
‫让我们尝试使用其中一个比较｡

44
00:03:24,760 --> 00:03:30,760
‫我将右键单击并在此处添加更大的比较｡

45
00:03:30,760 --> 00:03:37,120
‫然后, 我将控制单击ammo变量, 并将其拖动到比较节点的第一个节点｡

46
00:03:37,120 --> 00:03:40,870
‫你可以看到这里的默认值实际上大于零｡

47
00:03:40,870 --> 00:03:42,340
‫所以这正是我们想要的｡

48
00:03:42,340 --> 00:03:49,480
‫我们有一个节点, 表示弹药是否大于零, 返回值是一个布尔值, 如果是, 则表示是, 如果不是,

49
00:03:49,480 --> 00:03:51,790
‫则表示否.

50
00:03:51,790 --> 00:03:57,610
‫我们要做的就是取这个bool返回值, 拖动它, 然后搜索分支.

51
00:03:57,610 --> 00:04:04,840
‫然后我们可以添加一个分支节点, 它会自动将输入条件连接到我们拖动的布尔值｡

52
00:04:04,840 --> 00:04:15,550
‫现在, 我将把空格键事件拖回, 并将其按下的节点执行引脚拖到分支的输入中｡

53
00:04:15,550 --> 00:04:18,070
‫这将执行我们的分支｡

54
00:04:18,070 --> 00:04:26,080
‫然后我们希望分支, 如果它是真的, 继续繁殖抛射体否则它什么都不做.

55
00:04:26,080 --> 00:04:27,190
‫我们来试试这个｡

56
00:04:27,190 --> 00:04:33,310
‫如果我们点击播放, 然后我们产生大量的抛射物, 我们使我们的抛射物价值下降到零｡

57
00:04:33,310 --> 00:04:40,210
‫你现在可以看到, 无论我怎么按空格键, 我都不会再得到任何投射物｡

58
00:04:40,210 --> 00:04:43,930
‫所以我想挑战你打印出弹药｡

59
00:04:43,930 --> 00:04:49,300
‫所以使用false分支, 这样我们就可以在这里添加一个print节点｡

60
00:04:49,300 --> 00:04:54,310
‫基本上, 当我们没有弹药的时候, 我希望你能打印出弹药｡

61
00:04:54,310 --> 00:04:57,040
‫因此, 请测试您的代码并检查是否发生了这种情况｡

62
00:04:57,040 --> 00:04:59,200
‫暂停视频, 开始体验｡

63
00:05:02,320 --> 00:05:02,920
‫好吧, 我会的

64
00:05:02,920 --> 00:05:03,890
‫欢迎回来｡

65
00:05:03,910 --> 00:05:09,250
‫我们得到了分支节点的第二个分支｡

66
00:05:09,250 --> 00:05:13,600
‫我们把它拖后一点这样我们就不会和这些执行针交叉了｡

67
00:05:13,600 --> 00:05:18,220
‫而false分支应该到这里, 在这里它要打印字符串｡

68
00:05:18,220 --> 00:05:23,950
‫我想打印的字符串只是没子弹了｡

69
00:05:23,950 --> 00:05:31,450
‫现在, 如果我们继续玩游戏, 发射所有20发炮弹弹药, 你可以看到,

70
00:05:31,450 --> 00:05:37,810
‫每次我点击空格键, 它只是打印出我没有弹药的消息, 给玩家的指示,

71
00:05:37,810 --> 00:05:41,490
‫为什么没有更多的球产卵到场景中｡

72
00:05:41,500 --> 00:05:42,790
‫这节课到此为止｡

73
00:05:42,790 --> 00:05:44,320
‫我们下一场见｡

