﻿1
00:00:04,390 --> 00:00:05,530
‫你好, 欢迎｡

2
00:00:05,530 --> 00:00:11,590
‫在这节课中, 我们将讨论编译器和编辑器, 弄清楚它们是什么,

3
00:00:11,590 --> 00:00:14,770
‫以及为什么我们在编写C++时需要它们｡

4
00:00:14,770 --> 00:00:20,950
‫因此, 让我们从一些术语定义开始, 看看它们如何适应更广泛的生态系统｡

5
00:00:21,340 --> 00:00:23,050
‫首先是源代码｡

6
00:00:23,050 --> 00:00:26,680
‫这对于理解为什么我们首先需要编译器是至关重要的｡

7
00:00:26,680 --> 00:00:29,500
‫源代码是我们编写的代码｡

8
00:00:29,500 --> 00:00:30,490
‫通常是短信｡

9
00:00:30,490 --> 00:00:34,150
‫它是一种人类可读的代码形式, 如C++｡

10
00:00:34,150 --> 00:00:37,060
‫但是有时候你也可以把源代码看作是蓝图｡

11
00:00:37,060 --> 00:00:43,720
‫它们是人类可读的方式来描述你想让你的游戏做什么, 你想让电脑做什么｡

12
00:00:43,720 --> 00:00:53,470
‫最重要的是, 它是人类可读的部分, 因为它不是机器能够执行的, 不能让它运行｡

13
00:00:53,560 --> 00:00:57,280
‫这就是二进制可执行文件的作用｡

14
00:00:57,280 --> 00:01:04,210
‫它通常是二进制代码1和0, 它的目的是让机器能够快速读取它,

15
00:01:04,210 --> 00:01:07,770
‫并在你的CPU和CPU上执行它｡

16
00:01:07,780 --> 00:01:10,540
‫所以它是机器可读的代码｡

17
00:01:10,540 --> 00:01:19,240
‫这两者之间有一个缺口, 我们需要弥补这个缺口, 这样我们就可以将人类可读的代码转换为机器可读的代码｡

18
00:01:19,240 --> 00:01:22,840
‫这就是所谓的编译器的作用｡

19
00:01:22,840 --> 00:01:26,800
‫它从人类可读的C++或蓝图翻译而来｡

20
00:01:26,800 --> 00:01:31,270
‫正如我们之前看到的, 我们遇到过蓝图编译器错误之类的问题｡

21
00:01:31,270 --> 00:01:39,940
‫因此, 它从人类领域转换到机器领域, 并创建XY文件或二进制文件或您所在的任何平台｡

22
00:01:40,060 --> 00:01:46,000
‫显然, 编译器的工作非常复杂,

23
00:01:46,000 --> 00:01:49,300
‫我们将在后面详细了解其中一些更复杂的部分｡

24
00:01:49,300 --> 00:01:55,390
‫但现在, 知道它是一个将源代码转换为二进制代码的软件就足够了｡

25
00:01:55,390 --> 00:02:06,130
‫还有一个软件叫做源代码编辑器, 它可以让你在编写C++这样的可读代码时变得更容易｡

26
00:02:06,130 --> 00:02:13,780
‫它只是给我们提供了自动完成功能, 并突出显示我们可能自动键入的任何错误, 有点像拼写检查器,

27
00:02:13,780 --> 00:02:19,060
‫所以它可以让我们在处理源代码时轻松得多｡

28
00:02:19,120 --> 00:02:23,380
‫让我们来看看这一切是如何在虚幻的生态系统中结合在一起的｡

29
00:02:23,380 --> 00:02:27,070
‫所以我们一直在和编辑打交道｡

30
00:02:27,070 --> 00:02:34,810
‫编辑器是一个软件, 已经为我们编译过了, 当我们安装它的时候,

31
00:02:34,810 --> 00:02:38,110
‫我们已经有了这个编辑器的可执行文件｡

32
00:02:38,110 --> 00:02:39,670
‫这样我们就可以打开编辑器｡

33
00:02:39,670 --> 00:02:45,880
‫编辑器允许我们使用各种游戏资源修改和创建游戏项目｡

34
00:02:45,880 --> 00:02:49,960
‫这些包括我们在项目中引入的网格｡

35
00:02:49,960 --> 00:02:53,770
‫其中包括蓝图资产和蓝图代码｡

36
00:02:54,100 --> 00:03:00,670
‫这样我们就可以使用这些在编辑器中创建的游戏资源,

37
00:03:00,670 --> 00:03:08,050
‫然后在一个单独的可执行文件中运行游戏, 它只玩游戏, 不做其他任何事情｡

38
00:03:08,110 --> 00:03:11,920
‫然而, 如果我们想开始使用C++, 情况会有一点变化｡

39
00:03:11,950 --> 00:03:19,000
‫C++是编辑器的基础, 因此, 如果我们在编辑器中更改C++,

40
00:03:19,000 --> 00:03:23,830
‫我们实际上需要重新构建编辑器的二进制可执行文件｡

41
00:03:23,830 --> 00:03:28,570
‫如果我们有源代码, 我们知道它看起来有点像这样｡

42
00:03:28,570 --> 00:03:30,310
‫我们收到了一些短信｡

43
00:03:30,700 --> 00:03:38,380
‫基本上, 它就是我们的源代码的组成部分, 我们使用一个单独的软件再次编辑这个源代码, 这个软件称为源代码编辑器,

44
00:03:38,380 --> 00:03:41,470
‫以前称为蓝图｡

45
00:03:41,470 --> 00:03:47,320
‫我们一直在虚幻编辑器中编辑这一切, 因为它与软件紧密集成｡

46
00:03:47,320 --> 00:03:52,870
‫然而, 当我们处理C++时, 我们使用第三方软件来编辑代码｡

47
00:03:52,870 --> 00:03:57,730
‫现在, 我们在本课程中要使用的是Visual Studio

48
00:03:57,730 --> 00:04:02,980
‫Code, 因为它可以在Mac､ Linux和Windows上完美地跨平台运行, 而且它也非常轻量级｡

49
00:04:02,980 --> 00:04:14,170
‫但是就像我说的, 在我们编写的源代码和将其转换为在编辑器和实际的最终游戏产品中运行游戏所需的二进制可执行文件之间存在着差距｡

50
00:04:14,170 --> 00:04:16,570
‫这就是编译器｡

51
00:04:16,570 --> 00:04:25,000
‫编译器将采用我们的源代码, 它将采用我们在源代码中使用的已内置到Unreal中的库和功能｡

52
00:04:25,000 --> 00:04:29,620
‫它将这些编译在一起, 把它们变成二进制文件并输出｡

53
00:04:29,620 --> 00:04:35,890
‫无论是一个编辑器, 我们可以打开和编辑我们的游戏资产, 或者它将输出一个游戏, 这将采取我们的游戏资产,

54
00:04:35,890 --> 00:04:39,070
‫并允许玩家只是玩我们的游戏｡

55
00:04:39,070 --> 00:04:44,380
‫现在有两种编译器可供选择, 具体取决于您使用的平台｡

56
00:04:44,380 --> 00:04:49,300
‫如果您使用的是Windows, 我们将使用Visual Studio, 因此不要将这些内容过于混淆｡

57
00:04:49,300 --> 00:04:51,370
‫他们有非常相似的标志和非常相似的名字｡

58
00:04:51,370 --> 00:04:56,290
‫一个是Visual Studio, 它是编译器, 还有一个只是源代码编辑器, 它被称为Visual

59
00:04:56,290 --> 00:04:58,480
‫Studio Code｡

60
00:04:58,720 --> 00:05:03,070
‫现在, 如果你在mac上, 你将使用X代码｡

61
00:05:03,150 --> 00:05:09,580
‫Mac上的编译器是为了保持跨平台, 保持每个人都一样｡

62
00:05:09,600 --> 00:05:16,410
‫我们将使用Visual Studio代码来实际编辑代码, 即使这些编译器具有内置的源代码编辑功能｡

63
00:05:16,420 --> 00:05:23,760
‫但我们将使用这些编译器来获取源代码并将其转换为二进制可执行文件｡

64
00:05:23,810 --> 00:05:25,320
‫好了, 这节课就讲到这里.

65
00:05:25,320 --> 00:05:29,460
‫希望你能更清楚地了解为什么我们需要编译器, 为什么我们需要源代码编辑器｡

66
00:05:29,490 --> 00:05:34,030
‫接下来的几节课, 我们会介绍安装这些设备的过程.

67
00:05:34,050 --> 00:05:34,830
‫我会看到你在那里｡

