﻿1
00:00:04,150 --> 00:00:05,500
‫你好, 欢迎｡

2
00:00:05,500 --> 00:00:11,080
‫在这堂课中,

3
00:00:11,080 --> 00:00:17,470
‫我们将看到这些小引脚和它们的不同颜色, 并了解这些是不同的数据类型, 它们限制了我们可以插入的内容｡

4
00:00:17,830 --> 00:00:23,470
‫因此, 让我们深入了解一下数据类型的含义｡

5
00:00:23,650 --> 00:00:34,930
‫因此, 数据类型的一个相当可行的定义是, 它是如何在计算机内存中以二进制形式表示某些数据片段的｡

6
00:00:35,410 --> 00:00:42,730
‫但它也可以是一种限制我们对这段数据做什么的方式｡

7
00:00:42,730 --> 00:00:46,510
‫所以不一定总是关于不同的表现形式｡

8
00:00:46,510 --> 00:00:55,690
‫你可以把它看作是数据的形状, 就像方钉不能放进圆孔一样｡

9
00:00:55,690 --> 00:01:00,730
‫因此, 我们无法将错误类型的数据输入到错误类型的引脚｡

10
00:01:01,850 --> 00:01:04,370
‫因此, 让我们来看看一些数据类型的示例｡

11
00:01:04,370 --> 00:01:07,610
‫这是一个典型的例子｡

12
00:01:07,610 --> 00:01:16,760
‫整数是一个整数, 所以它的值类似于223-14, 但不是1｡  2.

13
00:01:16,760 --> 00:01:23,000
‫这将是一个浮点数, 是浮点数的缩写｡

14
00:01:23,060 --> 00:01:28,940
‫这些基本上都是有小数点的数字, 这些数字可以很大也可以很小,

15
00:01:28,940 --> 00:01:33,650
‫但关键是它们不是整数｡

16
00:01:33,650 --> 00:01:35,390
‫它们也可以是负面的｡

17
00:01:35,690 --> 00:01:36,860
‫还有弦｡

18
00:01:36,860 --> 00:01:42,200
‫我们以前遇到过字符串, 字符串只是程序员对文本片段的说法｡

19
00:01:42,200 --> 00:01:44,390
‫它本质上是一种数据类型｡

20
00:01:44,390 --> 00:01:49,970
‫这是一种在内存中存储文本片段的方式, 因此它们可以是任何你喜欢的东西｡

21
00:01:49,970 --> 00:01:50,210
‫真的吗？

22
00:01:50,210 --> 00:01:51,170
‫嗨, 鲍勃｡

23
00:01:51,170 --> 00:01:55,760
‫你知道, 不管怎样, 所有这些东西, 所有这些在我屏幕上的文字片段都是字符串,

24
00:01:55,760 --> 00:01:57,650
‫可能在电脑内存的某个地方｡

25
00:01:58,040 --> 00:02:04,760
‫最后还有balls是booleans的缩写, 它们只有两个可能的值, 对或错？

26
00:02:05,060 --> 00:02:13,040
‫这些数据类型很棒, 但你不能用这么简单的东西来表示整个游戏, 对吧？

27
00:02:13,040 --> 00:02:19,280
‫如果你开始把它们组合成像物体一样的东西, 你就可以做到｡

28
00:02:19,280 --> 00:02:23,450
‫一旦你将它们组合成一个对象, 它们就开始变得更有意义｡

29
00:02:23,450 --> 00:02:29,390
‫你可以用一个整数来表示年龄, 你可以用一个浮点数来表示经验值, 诸如此类的东西｡

30
00:02:29,390 --> 00:02:36,170
‫需要注意的一点是, 除了对象, 蓝图中还有一些叫做结构体的东西｡

31
00:02:36,170 --> 00:02:38,060
‫别搞混了｡

32
00:02:38,060 --> 00:02:44,420
‫太多的结构体基本上和一个对象是一样的, 除了它通常很小, 而且我们不使用引用, 我们只是传递它们,

33
00:02:44,420 --> 00:02:50,780
‫并在内存中复制它们, 而不用担心它们, 因为它们太小了｡

34
00:02:50,960 --> 00:02:55,670
‫正如我们所说的, 数据类型是数据的形状｡

35
00:02:56,120 --> 00:02:58,730
‫让我们来看看一些对象结构体的例子｡

36
00:02:58,730 --> 00:03:01,040
‫想象一下我们的冒险家｡

37
00:03:01,040 --> 00:03:03,470
‫我们的冒险家可能看起来有点像这样｡

38
00:03:03,470 --> 00:03:05,180
‫这是它的数据形状｡

39
00:03:05,180 --> 00:03:10,970
‫它有一个整数来表示它的等级和一个浮点数来表示它的经验值｡

40
00:03:10,970 --> 00:03:17,630
‫现在, 您可能有多个冒险家实例, 它们属于同一个冒险家类,

41
00:03:17,630 --> 00:03:22,520
‫因此它们必须具有相同的数据形状, 但它们不必具有相同的数据内容｡

42
00:03:22,520 --> 00:03:28,280
‫你可以看到这里第二个冒险家有100级和由于某种原因经验值负5｡

43
00:03:28,280 --> 00:03:35,750
‫但不必介意, 您也可以通过拥有不同的对象类（如播放器）来拥有不同的类型｡

44
00:03:35,750 --> 00:03:37,940
‫而这里你可以看到形状是不同的｡

45
00:03:37,940 --> 00:03:44,730
‫这两个是冒险和球员是不兼容的类型, 但他们这样做, 你知道,

46
00:03:44,780 --> 00:03:47,240
‫这些球员有不同的价值观存储在他们｡

47
00:03:47,240 --> 00:03:52,790
‫他们有一个球员的名字, 他们可能有他们是否使用控制器, 因为他们的一些数据｡

48
00:03:52,790 --> 00:03:55,880
‫现在让我们来看看以前见过的一些结构体｡

49
00:03:55,880 --> 00:04:00,440
‫同样, 请记住, 结构体和对象除了大小不同之外, 或多或少是可以互换的｡

50
00:04:00,620 --> 00:04:06,950
‫第一个我们见过很多次的是向量, 向量就是三个浮点数｡

51
00:04:06,950 --> 00:04:11,180
‫这就是它是一个X, Y和Z浮点数, 可以用来表示位置｡

52
00:04:11,180 --> 00:04:18,380
‫它也可以用来表示尺度, 或者我们在将脉冲输入到ADD脉冲节点时使用过｡

53
00:04:18,860 --> 00:04:21,110
‫我们顺便看到的另一个东西是一个旋转器｡

54
00:04:21,110 --> 00:04:28,400
‫注意这个旋转器也只有三个浮点数, 但这并不意味着这两种类型是兼容的｡

55
00:04:28,400 --> 00:04:36,110
‫我们可以给予结构体取不同的名字, 这样我们就保存在不应该使用它们的情况下意外地使用它们｡

56
00:04:36,740 --> 00:04:43,490
‫我们可以把这些放在一起, 创造一个更大的复合结构, 变换是场景中演员的位置,

57
00:04:43,490 --> 00:04:49,070
‫旋转和缩放｡

58
00:04:49,070 --> 00:04:54,380
‫你可以看到, 这是一个由其他结构体组成的结构体, 你可以随意嵌套这些结构体,

59
00:04:54,380 --> 00:04:58,370
‫把结构体放在对象中, 等等.

60
00:04:58,370 --> 00:04:59,990
‫事情会变得很复杂｡

61
00:05:00,380 --> 00:05:03,890
‫让我们来看看一些我们过去见过的物体｡

62
00:05:03,890 --> 00:05:06,980
‫我们已经看过了作为演员的物体｡

63
00:05:06,980 --> 00:05:08,870
‫我们知道演员是一种对象｡

64
00:05:09,380 --> 00:05:11,840
‫我们见过立方体的演员｡

65
00:05:11,840 --> 00:05:13,490
‫这是另一种类型的对象｡

66
00:05:13,490 --> 00:05:19,340
‫我们已经看到, 我们的投射物也是一种物体, 它是一个演员｡

67
00:05:19,340 --> 00:05:24,680
‫我们已经看到了演员身上的组件, 也是对象的类型｡

68
00:05:24,680 --> 00:05:28,040
‫静态组件就是其中的一个例子｡

69
00:05:28,040 --> 00:05:32,840
‫我们已经有了所有这些, 这些都是由这些基本数据类型组成的｡

70
00:05:32,840 --> 00:05:39,860
‫在本质上, 它们可能在过渡期间由更复杂的结构组成, 但这都是关于那些基本数据类型的｡

71
00:05:40,010 --> 00:05:46,280
‫所以当我们去看这样一个图的时候, 我们可以通过颜色立刻看出这个脉冲是一个矢量,

72
00:05:46,280 --> 00:05:53,810
‫比如说, 位置, 旋转和缩放, 这里只是三个浮点数｡

73
00:05:54,230 --> 00:05:58,640
‫我们还可以看到, 这个红色的力度更改复选框是一个布尔值｡

74
00:05:58,640 --> 00:06:00,140
‫这是一个是不是的答案｡

75
00:06:00,140 --> 00:06:00,890
‫所以我们要开始了｡

76
00:06:01,090 --> 00:06:07,510
‫要理解这些是限制我们可以插入什么的数据类型｡

77
00:06:08,320 --> 00:06:14,620
‫总而言之, 我们看到的是数据类型是数据的形状,

78
00:06:14,620 --> 00:06:20,950
‫对象只是数据和功能的集合, 正如我们之前所说的, 结构体是对象, 但通常只是小一点｡

79
00:06:20,950 --> 00:06:23,770
‫这就是你需要知道的｡

80
00:06:23,800 --> 00:06:25,870
‫我们下节课再见｡

