﻿1
00:00:04,350 --> 00:00:05,340
‫Xin chào và chào mừng.

2
00:00:05,340 --> 00:00:12,540
‫Trong bài giảng này, chúng ta sẽ truy cập vào các tác nhân chồng chéo trong một thứ gọi là mảng

3
00:00:12,540 --> 00:00:19,860
‫để chúng ta có thể in ra các tác nhân mà chúng ta thấy bên trong tập này hoàn toàn từ C ++.

4
00:00:19,860 --> 00:00:21,510
‫Hãy đi sâu vào và xem nó được thực hiện như thế nào.

5
00:00:22,420 --> 00:00:30,970
‫Vì vậy, giống như trong các phép loại suy trước đây, hãy tưởng tượng rằng một kiểu hoặc một biến là một hộp trong đó chúng ta đặt một giá trị.

6
00:00:31,000 --> 00:00:35,290
‫Bây giờ, điều gì sẽ xảy ra nếu chúng ta không biết chúng ta muốn lưu trữ bao nhiêu giá trị?

7
00:00:35,290 --> 00:00:36,670
‫Chúng tôi có thể tạo ra rất nhiều biến.

8
00:00:36,670 --> 00:00:39,610
‫Nếu chúng ta biết rằng chúng ta sẽ có năm, chúng ta có thể tạo ra năm biến.

9
00:00:39,610 --> 00:00:45,910
‫Nhưng điều gì sẽ xảy ra nếu chúng ta có một số thứ mà chúng ta không thể đoán trước được, chẳng hạn như số lượng diễn viên chúng ta

10
00:00:46,540 --> 00:00:51,220
‫có trong cấp độ của chúng ta, hoặc các tác nhân trùng lặp với một khối lượng kích hoạt cụ thể?

11
00:00:51,370 --> 00:01:00,220
‫Trong trường hợp này, chúng ta cần sử dụng một kiểu dữ liệu mới gọi là mảng T trong Unreal và về cơ bản là mảng T của một

12
00:01:00,220 --> 00:01:01,270
‫kiểu nhất định.

13
00:01:01,270 --> 00:01:08,860
‫Ở đây một lần nữa, chúng ta đang thấy những dấu ngoặc nhọn này, như chúng ta đã nói, trước đây, biên dịch các tham số thời gian.

14
00:01:08,860 --> 00:01:14,800
‫Và lần này, chúng ta lại tham gia vào một kiểu cho chúng ta biết loại mà chúng ta có thể lưu trữ trong mảng của mình.

15
00:01:14,800 --> 00:01:21,520
‫Một mảng giống như một biến, ngoại trừ việc nó có nhiều ô và số ô mà chúng ta có có thể khác

16
00:01:21,550 --> 00:01:23,980
‫khi chúng ta chơi trò chơi của mình.

17
00:01:23,980 --> 00:01:24,940
‫Nó có thể thay đổi.

18
00:01:24,940 --> 00:01:28,330
‫Chúng ta có thể thêm nhiều hoặc ít hơn khi trải qua trò chơi.

19
00:01:28,330 --> 00:01:32,650
‫Khi mọi thứ bắt đầu chồng chéo, chúng tôi sẽ thêm nhiều hộp hơn làm những thứ rời khỏi vùng chồng chéo.

20
00:01:32,650 --> 00:01:33,850
‫Chúng tôi sẽ đưa chúng đi.

21
00:01:33,850 --> 00:01:37,510
‫Và như tôi đã nói, đây là một thông số trong những cái này.

22
00:01:38,300 --> 00:01:39,560
‫Dấu ngoặc nhọn.

23
00:01:39,560 --> 00:01:46,190
‫Và vì vậy, chúng ta có thể có một khay int, chẳng hạn, sẽ lưu trữ các số nguyên khác nhau trong các hộp đó.

24
00:01:46,190 --> 00:01:52,940
‫Chúng ta có thể có một khay chứa các con trỏ diễn viên và điều này thực sự sẽ lưu trữ các con trỏ trong các

25
00:01:52,940 --> 00:01:55,880
‫hộp, sẽ trỏ đến các diễn viên ngoài thế giới.

26
00:01:55,880 --> 00:01:57,740
‫Và như bạn có thể thấy, chúng thậm chí có thể chồng lên nhau.

27
00:01:57,740 --> 00:02:01,430
‫Vì vậy, một số con trỏ trỏ đến các tác nhân giống nhau.

28
00:02:01,460 --> 00:02:04,760
‫Bây giờ, trên thực tế, điều đó sẽ không hữu ích lắm, nhưng chắc chắn là có thể.

29
00:02:04,760 --> 00:02:11,450
‫Vì vậy, tôi muốn xem lại tài liệu của thành phần nguyên thủy, bởi vì những gì tôi đang tìm

30
00:02:11,450 --> 00:02:16,490
‫kiếm ở đây là một hàm được gọi là lấy các tác nhân chồng chéo.

31
00:02:16,490 --> 00:02:21,170
‫Và nếu bạn nhìn vào chức năng nhận các tác nhân chồng chéo, có một vài phiên bản của nó.

32
00:02:21,530 --> 00:02:26,810
‫Nhưng cái thú vị nhất đối với tôi là cái thứ hai.

33
00:02:27,170 --> 00:02:30,470
‫Nó không có giá trị trả về mà là giá trị trả về vô hiệu.

34
00:02:30,470 --> 00:02:38,750
‫Nhưng bạn có thể thấy rằng tham số đầu tiên ở đây là một mảng t con trỏ tác nhân với dấu và ở cuối, có

35
00:02:38,750 --> 00:02:43,700
‫nghĩa là toàn bộ tham số này là một tham chiếu đến một mảng t.

36
00:02:43,700 --> 00:02:51,950
‫Bây giờ lưu ý rằng nó không phải là một tham chiếu hằng, vì vậy chúng ta có thể giả định rằng tham số này thực sự là một tham số out.

37
00:02:51,950 --> 00:03:00,230
‫Nó cung cấp cho chúng ta kết quả của các tác nhân chồng chéo và nó cho chúng ta biết tác nhân nào hiện đang chồng chéo với

38
00:03:00,230 --> 00:03:02,450
‫thành phần nguyên thủy của chúng ta.

39
00:03:02,450 --> 00:03:06,740
‫Bây giờ nó chỉ xảy ra rằng thành phần hộp của chúng tôi là một thành phần nguyên thủy.

40
00:03:06,740 --> 00:03:09,890
‫Vì vậy, thành phần kích hoạt của chúng ta cũng là một thành phần nguyên thủy.

41
00:03:09,890 --> 00:03:12,680
‫Và ai sẽ có quyền truy cập vào chức năng này?

42
00:03:13,460 --> 00:03:18,200
‫Có một đối số thứ hai ở đây, nhưng chúng ta không cần phải lo lắng về điều đó vì nó thực sự có giá trị

43
00:03:18,200 --> 00:03:19,670
‫mặc định nếu chúng ta sử dụng nó.

44
00:03:19,670 --> 00:03:26,120
‫Vì vậy, chúng ta hãy tiếp tục và thử nắm bắt và điền vào khay các con trỏ tác nhân.

45
00:03:26,120 --> 00:03:27,710
‫Chúng ta sẽ đi vào thành phần kích hoạt.

46
00:03:27,710 --> 00:03:31,610
‫CP Chúng ta sẽ đi xuống thành phần đánh dấu.

47
00:03:31,700 --> 00:03:38,270
‫Và ở đây, chúng ta sẽ tạo một mảng t trống mà chúng ta có thể điền bằng cách sử dụng hàm này.

48
00:03:38,270 --> 00:03:48,170
‫Vì vậy, cú pháp là t dãy dấu ngoặc nhọn mở một ngôi sao tác nhân để nói rằng chúng ta đang có một dãy con trỏ tác

49
00:03:48,170 --> 00:03:55,310
‫nhân, đóng dấu ngoặc nhọn và sau đó chúng ta có thể đặt tên biến này là các diễn viên.

50
00:03:55,310 --> 00:04:05,780
‫Sau đó, chúng tôi sẽ gọi để có được các diễn viên chồng chéo và chúng tôi sẽ chuyển sang mảng các diễn viên.

51
00:04:06,590 --> 00:04:06,950
‫Hiện nay.

52
00:04:06,950 --> 00:04:11,900
‫Tôi không biết tại sao họ không chỉ chuyển giá trị này như một giá trị trả về, nhưng.

53
00:04:12,840 --> 00:04:13,450
‫Của bạn đây.

54
00:04:13,470 --> 00:04:18,340
‫Nó cho chúng ta cơ hội để sử dụng các tham số đó nhiều hơn một chút.

55
00:04:18,360 --> 00:04:19,530
‫Bây giờ, đó là tất cả tốt và tốt.

56
00:04:19,530 --> 00:04:22,350
‫Chúng tôi có một số diễn viên trong một mảng.

57
00:04:22,710 --> 00:04:24,120
‫Có độ dài thay đổi của chúng.

58
00:04:24,120 --> 00:04:25,140
‫Có thể có khá nhiều.

59
00:04:25,140 --> 00:04:26,520
‫Có thể có số không.

60
00:04:26,730 --> 00:04:29,670
‫Chúng ta làm gì với các mảng như thế này?

61
00:04:29,670 --> 00:04:34,020
‫Chà, chúng ta có thể truy vấn có bao nhiêu mục trong mảng.

62
00:04:34,020 --> 00:04:41,040
‫Bạn có thể sử dụng mảng, dấu ngoặc kép chấm num và điều đó có thể trả về một số nguyên cho bạn biết có bao nhiêu mục

63
00:04:41,040 --> 00:04:41,610
‫trong mảng.

64
00:04:41,610 --> 00:04:48,630
‫Vì vậy, trong mảng cụ thể này, chúng ta có thể nói rằng có năm và sau đó chúng ta có thể truy cập các mục bên

65
00:04:48,630 --> 00:04:52,020
‫trong mảng đó bằng cách sử dụng các dấu ngoặc vuông này.

66
00:04:52,410 --> 00:04:56,100
‫Và sau đó, số bạn chuyển vào dấu ngoặc vuông cho bạn biết bạn cần lấy vật phẩm nào.

67
00:04:56,100 --> 00:05:02,820
‫Và đó là một quy ước thông thường trong nhiều ngôn ngữ lập trình mà chúng ta bắt đầu đếm từ 0 trong các mảng.

68
00:05:02,820 --> 00:05:09,630
‫Vì vậy, phần tử thứ 0 của mảng là phần tử đầu tiên, phần tử một của mảng là phần tử thứ hai, v.v.

69
00:05:09,630 --> 00:05:15,180
‫Và do đó, bạn kết thúc với phần tử cuối cùng luôn nhỏ hơn một số phần tử trong mảng.

70
00:05:15,660 --> 00:05:17,640
‫Vậy làm thế nào chúng ta có thể sử dụng kiến thức này?

71
00:05:17,640 --> 00:05:24,540
‫Ví dụ, chúng tôi chỉ có thể in các tác nhân chồng chéo nếu có nhiều hơn một trong số chúng.

72
00:05:24,540 --> 00:05:26,070
‫Vì vậy, chúng tôi sẽ làm điều này như thế nào?

73
00:05:26,070 --> 00:05:38,130
‫Chúng ta sẽ đặt một câu lệnh if nói rằng nếu dấu ngoặc nhọn chấm num của tác nhân lớn hơn 0, thì chúng ta có thể làm điều gì đó ở đây, chẳng hạn

74
00:05:38,130 --> 00:05:46,500
‫như truy cập vào phần tử 0 của các tác nhân của chúng ta vì chúng ta biết rằng nếu nó lớn hơn 0,

75
00:05:46,500 --> 00:05:50,130
‫thì phải có ít nhất một phần tử trong đó.

76
00:05:50,130 --> 00:05:54,690
‫Vì vậy, phần tử thứ 0 của mảng này phải có một cái gì đó trong đó.

77
00:05:54,690 --> 00:05:59,940
‫Chúng tôi không thể đảm bảo rằng phần tử đầu tiên, một phần tử của mảng có bất kỳ thứ gì trong đó hay hai phần

78
00:05:59,940 --> 00:06:01,620
‫tử có bất kỳ thứ gì trong đó.

79
00:06:01,620 --> 00:06:06,870
‫Chúng tôi sẽ phải kiểm tra xem chúng tôi có đủ mục trong mảng để làm điều đó hay không, nhưng chúng tôi chắc chắn

80
00:06:06,870 --> 00:06:08,700
‫biết rằng có mục đầu tiên ở đây.

81
00:06:08,700 --> 00:06:12,690
‫Vì vậy, hãy thử thách bạn in tác nhân chồng chéo đầu tiên từ mảng đó.

82
00:06:12,720 --> 00:06:16,680
‫Sử dụng mảng để lấy con trỏ bằng cách sử dụng các dấu ngoặc vuông đó.

83
00:06:16,680 --> 00:06:22,290
‫Sau đó, bạn sẽ sử dụng con trỏ đó để gọi, lấy diễn viên, tên hoặc nhãn, sau đó bạn

84
00:06:22,290 --> 00:06:25,140
‫sẽ in nó ra, tạm dừng video và bắt đầu.

85
00:06:28,340 --> 00:06:29,650
‫Chào mừng trở lại.

86
00:06:29,660 --> 00:06:34,730
‫Vì vậy, chúng ta có thể nắm được con trỏ ở đây bằng cách sử dụng dấu ngoặc vuông này.

87
00:06:34,730 --> 00:06:41,300
‫Và sau đó tôi sẽ nắm bắt tên một cách dễ dàng bằng cách sử dụng toán tử mũi tên và

88
00:06:41,300 --> 00:06:43,610
‫gọi lấy diễn viên, tên hoặc nhãn.

89
00:06:44,090 --> 00:06:50,210
‫Và tôi sẽ đặt nó trong một biến chuỗi F được gọi là tên diễn viên.

90
00:06:50,210 --> 00:06:56,510
‫Sau đó, chúng ta sẽ làm một nhật ký chữ U, mà chúng ta sẽ gọi là dấu hai chấm chồng chéo.

91
00:06:56,510 --> 00:06:58,390
‫Và sau đó là phần trăm s.

92
00:06:58,400 --> 00:07:03,740
‫Và đối số thứ hai ở đây phải là dấu hoa thị, tên diễn viên.

93
00:07:03,740 --> 00:07:09,650
‫Sau đó, chúng tôi có thể biên dịch lại, nhảy vào khung ghi nhật ký đầu ra của chúng tôi trong bố cục.

94
00:07:09,650 --> 00:07:16,130
‫Sau đó, chúng ta sẽ mở bức tường bí mật của BPP vì tôi không muốn in chuỗi này gây nhầm

95
00:07:16,130 --> 00:07:17,270
‫lẫn mọi thứ.

96
00:07:17,270 --> 00:07:24,230
‫Trong Blueprint, chúng tôi đang làm điều này ngay bây giờ từ C ++, vì vậy chúng ta hãy chuyển sang phần chơi đánh cấp độ dungeon.

97
00:07:25,160 --> 00:07:28,700
‫Và rõ ràng là không có gì chồng chéo diễn viên đó ngay bây giờ.

98
00:07:28,700 --> 00:07:31,850
‫Vậy điều gì sẽ xảy ra nếu chúng ta đi và bước vào bên trong?

99
00:07:31,940 --> 00:07:36,320
‫Bạn có thể thấy rằng nó bắt đầu in ngay lập tức, rằng chúng tôi đang chồng lên trình phát tiếng bíp.

100
00:07:36,560 --> 00:07:37,760
‫Những thứ tuyệt vời.

101
00:07:37,760 --> 00:07:40,370
‫Điều gì sẽ xảy ra nếu chúng ta phải đi và lấy bộ giáp trụ?

102
00:07:40,370 --> 00:07:43,820
‫Đưa nó vào hốc tường, cắm nó vào và bạn đi.

103
00:07:43,820 --> 00:07:46,400
‫Nó nói rằng nó chồng lên bức tượng gargoyle.

104
00:07:46,670 --> 00:07:47,270
‫Công cụ tuyệt vời.

105
00:07:47,270 --> 00:07:55,340
‫Vì vậy, chúng ta đã học cách sử dụng một mảng t để lấy danh sách các tác nhân và tìm ra có bao nhiêu

106
00:07:55,340 --> 00:08:00,980
‫thứ trong danh sách đó và cách lấy một mục cụ thể từ danh sách đó.

107
00:08:00,980 --> 00:08:05,750
‫Trong bài giảng tiếp theo, chúng ta sẽ xem xét một số cấu trúc lập trình cho

108
00:08:05,750 --> 00:08:10,790
‫phép chúng ta xử lý với nhiều thứ khác nhau để thực hiện một số tác vụ khác nhau.

109
00:08:10,790 --> 00:08:11,870
‫Tôi sẽ gặp bạn ở đó.

