﻿1
00:00:04,500 --> 00:00:05,580
‫Xin chào và chào mừng.

2
00:00:05,580 --> 00:00:12,360
‫Trong bài giảng này, chúng ta sẽ thêm các biến vào tác nhân nền tảng chuyển động của chúng ta để chúng ta có thể thấy chúng trong

3
00:00:12,360 --> 00:00:16,560
‫trình soạn thảo và chúng ta sẽ thực hiện điều này hoàn toàn bằng C ++.

4
00:00:16,560 --> 00:00:17,790
‫Hãy đi sâu vào.

5
00:00:18,360 --> 00:00:23,640
‫Vì vậy, khái niệm đầu tiên mà chúng ta sẽ học trong C ++ là cách tạo các biến.

6
00:00:23,640 --> 00:00:25,890
‫Chúng tôi đã thấy chúng trước đây trong Blueprint.

7
00:00:25,890 --> 00:00:30,090
‫Chúng tôi biết rằng chúng giống như những chiếc hộp mà chúng tôi có thể đặt các giá trị vào và chúng có các loại.

8
00:00:30,240 --> 00:00:34,890
‫Chà, tất cả những điều đó vẫn được áp dụng trong C ++, ngoại trừ cách chúng tôi tạo chúng.

9
00:00:34,890 --> 00:00:39,810
‫Vì vậy, trước đây, khi chúng tôi làm điều này trong Blueprint, nếu tôi mở và mở một bản thiết kế cấp chỉ để

10
00:00:39,810 --> 00:00:45,150
‫hiển thị cho bạn và làm mới bộ nhớ của bạn, thì chúng tôi đã có cái này, ngăn kế hoạch chi tiết của tôi và

11
00:00:45,150 --> 00:00:48,300
‫đó là nơi chúng tôi đã thêm những thứ như hàm và biến, v.v. trên.

12
00:00:48,300 --> 00:00:51,510
‫Và sau đó chúng tôi có biểu đồ sự kiện nơi chúng tôi thực sự lập trình các nội dung trong đó.

13
00:00:51,510 --> 00:00:53,970
‫Bây giờ C ++ là rất giống nhau.

14
00:00:53,970 --> 00:01:00,270
‫Chúng tôi có hai vị trí khác nhau để thực hiện cấu hình các biến và hàm của chúng tôi và sau đó khi chúng tôi

15
00:01:00,270 --> 00:01:02,190
‫thực sự thực hiện việc triển khai.

16
00:01:02,190 --> 00:01:07,500
‫Vì vậy, chúng ta hãy xem xét mã Visual Studio và mở Dự án mã Visual Studio và xem.

17
00:01:07,500 --> 00:01:10,650
‫Trong thanh bên trái có một tab Explorer.

18
00:01:10,650 --> 00:01:16,710
‫Mở và mở nó lên và về cơ bản bạn có thể thấy một bản đồ phân cấp các tệp của mình.

19
00:01:16,710 --> 00:01:22,800
‫Vì vậy, chúng tôi đã có ở cấp độ cao nhất và Tấn công chướng ngại vật hoặc dự án của riêng chúng tôi ở đây, bạn có thể mở nó lên và bạn có

20
00:01:22,800 --> 00:01:24,300
‫thể xem một số thư mục ở đây.

21
00:01:24,300 --> 00:01:28,410
‫Cái mà chúng tôi quan tâm là thư mục nguồn, đây là nơi chúng tôi có thể tìm thấy tất cả C ++ của mình.

22
00:01:28,410 --> 00:01:34,800
‫Sau đó, trong đó có thư mục tấn công chướng ngại vật và sau đó có hai tệp có tên nền tảng di

23
00:01:34,800 --> 00:01:35,340
‫chuyển.

24
00:01:35,340 --> 00:01:44,250
‫Một là tệp chấm và một ở DOT CP, DOT là viết tắt của Header và CP là viết tắt của C ++.

25
00:01:44,250 --> 00:01:52,170
‫Vì vậy, điều này về cơ bản giống như có một bản thiết kế của tôi, nơi bạn có thể thêm các hàm và biến và nội dung

26
00:01:52,170 --> 00:01:58,710
‫nằm trong tệp tiêu đề, tệp FF, và sau đó chúng ta có CP chấm nơi chúng ta thực sự có thể giống

27
00:01:58,710 --> 00:02:03,060
‫như biểu đồ sự kiện , chúng tôi thực sự có thể tự viết mã.

28
00:02:03,330 --> 00:02:06,600
‫Vì vậy, chúng tôi sẽ mở nền tảng di chuyển.

29
00:02:06,840 --> 00:02:12,300
‫H Bởi vì chúng tôi muốn thêm một biến mới và bạn sẽ nhận thấy rằng có rất nhiều thứ ở đây.

30
00:02:12,300 --> 00:02:18,180
‫Chúng tôi sẽ không đi vào chi tiết về vấn đề này, nhưng điều thú vị nhất là nó đang xác định ý nghĩa

31
00:02:18,180 --> 00:02:20,910
‫của việc trở thành một lớp nền tảng chuyển động.

32
00:02:20,910 --> 00:02:23,370
‫Bạn có thể thấy một vài từ khóa ở đây rất thú vị.

33
00:02:23,370 --> 00:02:25,290
‫Có một từ khóa lớp trên dòng mười.

34
00:02:25,290 --> 00:02:32,160
‫Có các nền tảng chuyển động được bắt đầu bằng chữ A, nghĩa là đó là một tác nhân, và sau

35
00:02:32,160 --> 00:02:36,270
‫đó có một số dấu ngoặc nhọn ở dòng 11 và 26.

36
00:02:36,270 --> 00:02:42,540
‫Và giữa các dấu ngoặc nhọn được kết hợp này, bạn có thể thấy có một số khai báo.

37
00:02:42,540 --> 00:02:46,200
‫Có các hàm ở đây và đây là nơi chúng ta cũng có thể đặt các biến của mình.

38
00:02:46,440 --> 00:02:49,680
‫Vì vậy, chúng tôi sẽ thêm các biến của chúng tôi vào cuối khai báo này.

39
00:02:49,680 --> 00:02:57,030
‫Vì vậy, ngay trước khi chúng ta đóng dấu ngoặc nhọn đó, chúng ta có thể thêm một số dòng mới và bắt đầu viết các biến mới của chúng

40
00:02:57,030 --> 00:02:57,810
‫ta tại đây.

41
00:02:58,140 --> 00:03:02,970
‫Và cũng giống như trong một biến trong bản thiết kế, chúng ta có một kiểu và chúng ta có một tên biến và chúng ta cũng có thể cung

42
00:03:02,970 --> 00:03:04,440
‫cấp cho nó một giá trị mặc định.

43
00:03:04,620 --> 00:03:13,530
‫Vì vậy, điều đầu tiên là chúng ta muốn có thể tạo một số nguyên và trong C ++, trong Unreal C ++, một số nguyên được ký hiệu bằng từ khóa

44
00:03:13,530 --> 00:03:20,550
‫INT 32 về cơ bản cho chúng ta biết chúng ta có thể lưu trữ một giá trị lớn như thế nào ở đây.

45
00:03:20,550 --> 00:03:22,500
‫Và không, nó không phải là 32.

46
00:03:22,530 --> 00:03:23,820
‫Nó lớn hơn thế rất nhiều.

47
00:03:23,820 --> 00:03:28,620
‫32 là số bit được phân bổ cho số nguyên.

48
00:03:28,650 --> 00:03:33,750
‫Bây giờ chúng ta phải tìm một tên biến và cũng giống như các lớp, chúng ta không thể có khoảng trắng trong tên biến

49
00:03:33,750 --> 00:03:34,200
‫của mình.

50
00:03:34,200 --> 00:03:38,670
‫Vì vậy, thay vào đó chúng tôi sử dụng các chữ cái viết hoa để biểu thị các từ của chúng tôi.

51
00:03:38,670 --> 00:03:41,520
‫Vì vậy, tôi sẽ gọi nó là thông báo int của tôi.

52
00:03:41,520 --> 00:03:44,520
‫Tôi đang viết hoa cả hai phần đầu của những từ đó.

53
00:03:44,520 --> 00:03:50,730
‫Sau đó, tôi có thể cung cấp cho nó một giá trị mặc định và chúng tôi làm điều này với một dấu bằng để chúng tôi có bằng và sau đó chúng

54
00:03:50,730 --> 00:03:53,970
‫tôi có thể cung cấp cho nó một giá trị chẳng hạn như 99 chẳng hạn.

55
00:03:54,150 --> 00:03:59,880
‫Bây giờ hãy lưu ý rằng tôi đang đặt dấu cách sau của tôi và trước dấu bằng của tôi.

56
00:03:59,880 --> 00:04:04,140
‫Điều đó không thực sự cần thiết, nhưng nó giúp bạn đọc dễ dàng và đẹp hơn.

57
00:04:04,140 --> 00:04:05,760
‫Vì vậy, tôi bao gồm điều đó.

58
00:04:05,760 --> 00:04:11,070
‫Bây giờ rõ ràng bạn cần một khoảng trắng giữa 32 và tên thực của số nguyên.

59
00:04:11,070 --> 00:04:12,690
‫Không có điều đó, mọi thứ không hoạt động.

60
00:04:12,960 --> 00:04:18,210
‫Và sau đó để kết thúc phần khai báo này, bạn cần đặt dấu chấm phẩy ở cuối dòng để cho

61
00:04:18,240 --> 00:04:20,520
‫C ++ biết rằng bạn đã hoàn tất.

62
00:04:20,520 --> 00:04:26,010
‫Thực tế là có các dòng mới và có khoảng trắng và tab, tất cả những điều này không thực sự quan trọng đối

63
00:04:26,010 --> 00:04:26,790
‫với C ++.

64
00:04:26,790 --> 00:04:30,360
‫Bạn có thể chạy tất cả những thứ này cùng nhau và điều này vẫn sẽ giống nhau.

65
00:04:30,360 --> 00:04:34,230
‫Tôi có thể lấy ra những khoảng trống ở đây mà vẫn hoạt động tốt.

66
00:04:34,230 --> 00:04:38,040
‫Đối với C ++, đây là C ++ hoàn toàn hợp lệ.

67
00:04:38,040 --> 00:04:40,590
‫Nó chỉ thực sự khủng khiếp, khủng khiếp để đọc.

68
00:04:40,800 --> 00:04:46,350
‫Vì vậy, những gì chúng tôi làm là chúng tôi giữ mức độ thụt lề này với một tab và chúng tôi giữ mức độ giãn cách này cũng

69
00:04:46,350 --> 00:04:48,000
‫chỉ vì sự tỉnh táo của chúng tôi.

70
00:04:48,450 --> 00:04:52,380
‫Bây giờ điều này hiện không được hiển thị trong Trình chỉnh sửa kế hoạch chi tiết.

71
00:04:52,380 --> 00:04:57,540
‫Để làm cho nó hiển thị, chúng ta cần lưu ý một chút với Unreal rằng có một biến mà nó

72
00:04:57,540 --> 00:04:58,410
‫sẽ hiển thị.

73
00:04:58,410 --> 00:05:03,770
‫Cách chúng tôi làm điều này là trên dòng trước, chúng tôi nhập thuộc tính của bạn tất cả các chữ hoa.

74
00:05:04,330 --> 00:05:11,170
‫Sau đó, mở dấu ngoặc đơn và sau đó sử dụng cái gọi là trường hợp lạc đà, về cơ bản chúng ta viết hoa chữ cái đầu

75
00:05:11,170 --> 00:05:17,460
‫tiên của mỗi từ mà chúng ta nhập, chỉnh sửa ở bất kỳ đâu như vậy, và sau đó chúng ta đóng dấu ngoặc đơn.

76
00:05:17,470 --> 00:05:19,420
‫Không cần dấu chấm phẩy ở cuối dòng này.

77
00:05:19,420 --> 00:05:26,050
‫Điều đó không chính xác, vì nó thực sự là một phần của khai báo giống như số nguyên ở dòng bên

78
00:05:26,050 --> 00:05:26,770
‫dưới nó.

79
00:05:27,160 --> 00:05:32,470
‫Nhưng chúng tôi đặt chúng trên những dòng riêng biệt chỉ để làm cho cuộc sống của chúng tôi dễ dàng hơn khi đọc nó.

80
00:05:32,470 --> 00:05:39,100
‫Vì vậy, chúng tôi đã yêu cầu bạn chỉnh sửa thuộc tính ở bất kỳ vị trí nào trong 30 thành số nguyên của tôi và sau đó là dấu bằng và sau đó là 99.

81
00:05:39,100 --> 00:05:42,790
‫Và điều quan trọng là bạn phải lưu các tệp của mình ở đây theo mặc định.

82
00:05:42,790 --> 00:05:44,980
‫Bạn cần phải nhấn kiểm soát để làm điều này.

83
00:05:45,100 --> 00:05:51,160
‫Nếu bạn đi tới menu tệp, bạn có thể nhấn lưu tự động ở đây như một tùy chọn để bạn không phải nhấn lưu

84
00:05:51,160 --> 00:05:52,660
‫mỗi khi thay đổi mọi thứ.

85
00:05:52,750 --> 00:05:53,890
‫Bây giờ đó là những gì tôi làm.

86
00:05:53,890 --> 00:06:00,190
‫Vì vậy, sau khi hoàn thành, chúng tôi có thể tiếp tục và đóng trình chỉnh sửa, biên dịch lại và mở lại nó và chúng tôi

87
00:06:00,190 --> 00:06:03,100
‫sẽ có một biến mới trên nền tảng di chuyển của mình.

88
00:06:03,100 --> 00:06:08,560
‫Diễn viên Nhưng đó là một chút khó khăn nếu chúng tôi phải đóng trình chỉnh sửa mỗi khi chúng tôi thực hiện thay đổi mã.

89
00:06:08,560 --> 00:06:12,160
‫Vì vậy, có một tính năng trong Unreal được gọi là Live Coding.

90
00:06:12,160 --> 00:06:18,130
‫Tôi chỉ định đóng bản thiết kế cấp độ và cho bạn thấy rằng có một nút ở dưới cùng bên phải

91
00:06:18,130 --> 00:06:21,970
‫trông giống như một tập hợp các hình khối tan biến vào khoảng không.

92
00:06:21,970 --> 00:06:27,790
‫Nếu bạn di chuột qua nó, nó cho biết biên dịch lại và tải lại mã C ++ cho các

93
00:06:27,790 --> 00:06:36,340
‫trò chơi đang bay, hãy nhấp vào nút đó và một thiết bị đầu cuối sẽ hiển thị với nhật ký thông báo là kết quả biên dịch mã của bạn.

94
00:06:36,730 --> 00:06:41,380
‫Bây giờ, điều này sẽ chạy nhanh hơn rất nhiều so với trước đây vì đây không phải là lần đầu

95
00:06:41,470 --> 00:06:46,210
‫tiên nó chạy và khi hoàn tất, nó sẽ cung cấp cho bạn thông báo rằng mã hóa trực tiếp đã thành công.

96
00:06:46,450 --> 00:06:53,650
‫Bây giờ, điều quan trọng là nếu mã hóa trực tiếp không thành công, bạn phải sao chép kết quả của nhật ký có trước lỗi và đăng những

97
00:06:53,650 --> 00:06:59,530
‫kết quả đó trong phần Hỏi và Đáp nếu bạn cần trợ giúp, nhưng cũng chỉ cần kiểm tra lại và đảm bảo rằng

98
00:06:59,530 --> 00:07:03,340
‫cú pháp của bạn khớp với những gì tôi đã nhập trên màn hình.

99
00:07:03,520 --> 00:07:09,910
‫Thông thường, chúng ta sẽ thấy rằng đó chỉ đơn giản là một lỗi đánh máy mà mọi người đã mắc phải và nó không biên dịch

100
00:07:09,910 --> 00:07:10,630
‫vì điều đó.

101
00:07:10,630 --> 00:07:18,550
‫Hãy chú ý đến cách viết hoa của bạn vì viết hoa thường rất quan trọng và cũng là dấu chấm phẩy của bạn.

102
00:07:18,550 --> 00:07:20,950
‫Mọi người thường quên bao gồm những thứ đó.

103
00:07:21,100 --> 00:07:26,200
‫Vì vậy, bây giờ tôi muốn thách thức bạn thêm biến của riêng bạn trên một dòng mới trong tệp tiêu đề đó.

104
00:07:26,200 --> 00:07:30,190
‫Vì vậy, hãy đặt nó thành kiểu float hoặc bull và đặt cho nó một cái tên khác.

105
00:07:30,190 --> 00:07:32,020
‫Các biến không thể có cùng tên.

106
00:07:32,020 --> 00:07:33,100
‫Họ phải khác biệt.

107
00:07:33,340 --> 00:07:34,990
‫Cung cấp cho nó một giá trị mặc định.

108
00:07:34,990 --> 00:07:38,050
‫Vì vậy, nếu đó là một float, giá trị mặc định cần phải có định dạng.

109
00:07:38,050 --> 00:07:39,970
‫Một điểm gì đó, một cái gì đó, một cái gì đó.

110
00:07:39,970 --> 00:07:47,560
‫Nếu đó là boolean, nó cần phải đúng hoặc sai tất cả biên dịch lại chữ thường bằng cách sử dụng mã hóa trực tiếp và sau đó xem liệu

111
00:07:47,560 --> 00:07:53,860
‫bạn có gặp bất kỳ lỗi nào không và nếu bạn quay lại và xem cách tôi thực hiện để kiểm tra lại xem bạn

112
00:07:53,860 --> 00:07:55,210
‫đã viết đúng chưa. đường.

113
00:07:55,300 --> 00:07:57,250
‫Tạm dừng video và bắt đầu.

114
00:08:00,500 --> 00:08:00,890
‫Được chứ.

115
00:08:00,890 --> 00:08:01,790
‫Chào mừng trở lại.

116
00:08:02,060 --> 00:08:06,440
‫Vì vậy, hãy quay lại mã Visual Studio và chúng ta sẽ thêm một biến.

117
00:08:06,440 --> 00:08:09,470
‫Vì vậy, trước hết, chúng tôi sẽ biến nó thành một tài sản mới.

118
00:08:09,470 --> 00:08:13,400
‫Nó mở ngoặc đơn và chỉnh sửa ở bất cứ đâu và đóng ngoặc đơn.

119
00:08:13,400 --> 00:08:19,670
‫Sau đó, trên một dòng mới, tôi sẽ đặt nó thành một loại phao và chúng tôi sẽ gọi nó là phao của tôi chỉ

120
00:08:19,670 --> 00:08:21,530
‫để duy trì truyền thống ở đây.

121
00:08:21,620 --> 00:08:27,320
‫Và chúng tôi sẽ cung cấp cho nó giá trị mặc định là 5. 99 và sau đó đặt dấu chấm phẩy ở cuối dòng,

122
00:08:27,320 --> 00:08:31,420
‫đảm bảo rằng bạn có tất cả các thành phần của những gì tôi vừa nhập vào đây.

123
00:08:32,060 --> 00:08:34,130
‫Sau đó, tôi sẽ thêm một số khoảng trắng nữa.

124
00:08:34,130 --> 00:08:36,980
‫Lưu ý rằng tôi đang thêm nhiều dòng mới.

125
00:08:36,980 --> 00:08:39,110
‫Bạn có bao nhiêu dòng mới không thực sự quan trọng.

126
00:08:39,110 --> 00:08:40,670
‫Khoảng trắng không quan trọng.

127
00:08:40,670 --> 00:08:44,750
‫Như tôi đã nói, sau đó chúng tôi sẽ có một tài sản mới một lần nữa.

128
00:08:44,930 --> 00:08:51,920
‫Chỉnh sửa Bất kỳ nơi nào sẽ thuộc loại bool và tôi sẽ gọi đó là bool của tôi và tôi sẽ cung cấp cho nó giá

129
00:08:51,920 --> 00:08:55,760
‫trị mặc định là true và đặt dấu chấm phẩy ở cuối ở đó.

130
00:08:55,760 --> 00:08:58,340
‫Bây giờ bạn không cần phải lưu nếu bạn đã có tự động lưu, nhưng bạn có.

131
00:08:58,340 --> 00:09:01,220
‫Nếu bạn không, sau đó chúng tôi quay trở lại trình chỉnh sửa.

132
00:09:01,220 --> 00:09:09,080
‫Chúng tôi nhấn vào nút mã hóa trực tiếp ở dưới cùng bên phải và nhật ký sẽ xuất hiện và hy vọng chúng tôi sẽ thành công, điều mà

133
00:09:09,200 --> 00:09:10,700
‫nó đã làm cho tôi.

134
00:09:10,700 --> 00:09:16,490
‫Nhưng tôi chỉ muốn cho bạn thấy điều gì sẽ xảy ra nếu tôi mắc sai lầm, chẳng hạn như bỏ dấu chấm phẩy

135
00:09:16,490 --> 00:09:20,300
‫và cuối dòng này thay vì màu xanh lá cây dễ chịu và yên tâm.

136
00:09:20,300 --> 00:09:25,550
‫Vào cuối nhật ký, bạn sẽ thấy một bản dựng màu đỏ bị lỗi hiển thị thay thế.

137
00:09:25,550 --> 00:09:31,520
‫Vì vậy, điều quan trọng là nếu bạn nhận được một bản dựng, thất bại, điều đầu tiên, hãy đi và kiểm tra mã của

138
00:09:31,520 --> 00:09:38,030
‫bạn, đảm bảo rằng nó khớp với mã của tôi, vì như tôi đã nói, nó thường chỉ là lỗi đánh máy và nếu không, hãy sao chép

139
00:09:38,030 --> 00:09:42,290
‫mã này và đặt nó trong phần Hỏi & Đáp và yêu cầu một số trợ giúp.

140
00:09:42,350 --> 00:09:49,220
‫Điều đó nói rằng, tôi sẽ sửa mã của mình ngay bây giờ và biên dịch lại nó, và khi điều đó đã thành công, tôi

141
00:09:49,220 --> 00:09:56,180
‫có thể đóng nhật ký và tôi có thể xem trong phác thảo cho nền tảng di chuyển và tôi có thể chọn nền tảng di

142
00:09:56,180 --> 00:10:00,590
‫chuyển để xem ngăn chi tiết và xem tất cả các biến mà tôi đã tạo.

143
00:10:00,590 --> 00:10:07,040
‫Họ int my float và my bool và các giá trị mặc định mà chúng tôi đã cung cấp cho chúng ở đó.

144
00:10:07,040 --> 00:10:10,040
‫Bây giờ, cần lưu ý rằng đây thực sự chỉ là mặc định.

145
00:10:10,040 --> 00:10:16,730
‫Vì vậy, nếu bạn ghi đè các giá trị đó trong trình soạn thảo, trong Blueprint hoặc trong cấp độ, sau đó bạn thay đổi chúng

146
00:10:16,730 --> 00:10:21,110
‫trong C ++, thì những thay đổi trong C ++ sẽ không còn hiệu lực nữa.

147
00:10:21,110 --> 00:10:22,580
‫Chúng chỉ là giá trị mặc định.

148
00:10:22,580 --> 00:10:28,580
‫Vì vậy, nếu bạn đã thực hiện các thay đổi trong Blueprint, điều đó sẽ được ưu tiên và ghi đè bất kỳ thứ gì bạn đã làm trong C ++.

149
00:10:28,610 --> 00:10:29,360
‫Những thứ tuyệt vời.

150
00:10:29,360 --> 00:10:35,420
‫Chúng tôi đã tạo các biến đầu tiên của mình, mã đầu tiên của chúng tôi trong C ++ và đưa nó vào sử dụng mã hóa trực tiếp.

151
00:10:35,420 --> 00:10:37,250
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.

