﻿1
00:00:04,550 --> 00:00:05,810
‫Xin chào và chào mừng.

2
00:00:05,810 --> 00:00:11,330
‫Trong bài giảng này, chúng ta sẽ bắt đầu thêm nhiều chức năng hơn nữa vào cây hành vi của mình bằng cách

3
00:00:11,330 --> 00:00:17,210
‫thêm một tác vụ tùy chỉnh, giá trị bảng đen rõ ràng này, chúng ta sẽ làm cho điều đó hoàn toàn tùy chỉnh

4
00:00:17,210 --> 00:00:18,200
‫trong C ++.

5
00:00:18,230 --> 00:00:20,240
‫Hãy đi sâu vào và xem làm thế nào để làm điều đó.

6
00:00:21,280 --> 00:00:21,490
‫Được chứ.

7
00:00:21,490 --> 00:00:28,780
‫Vì vậy, tôi muốn mở rộng hành vi của cây hành vi này để chúng ta có thể điều tra.

8
00:00:28,780 --> 00:00:33,040
‫Và khi chúng tôi điều tra xong, chúng tôi sẽ tiếp tục trở về nhà.

9
00:00:33,040 --> 00:00:40,240
‫Vì vậy, tôi sẽ thêm một chút chuyển sang nhiệm vụ ở đây sau đó, điều này chỉ đưa chúng ta trở lại vị trí bắt đầu.

10
00:00:40,630 --> 00:00:47,140
‫Và những gì chúng ta cần làm để đến được đó là có một số khái niệm về việc chúng ta đã đến địa điểm chơi

11
00:00:47,140 --> 00:00:49,150
‫được biết gần đây nhất hay chưa.

12
00:00:49,210 --> 00:00:54,490
‫Và cách tôi sẽ làm điều đó về cơ bản là đặt vị trí người chơi được biết cuối cùng sau khi chúng tôi đã điều

13
00:00:54,490 --> 00:00:57,820
‫tra xong, nếu hiện tại chúng tôi không có cách nào để thực hiện điều đó.

14
00:00:57,820 --> 00:01:00,910
‫Nhưng trước hết, hãy tạo trình trang trí.

15
00:01:00,910 --> 00:01:09,190
‫Vì vậy, hãy thêm một người trang trí để điều tra Bảng đen sẽ đi và đổi tên nó thành đã điều tra

16
00:01:09,190 --> 00:01:16,630
‫như vậy và điều này sẽ kiểm tra xem vị trí đã biết cuối cùng đã được đặt chưa.

17
00:01:16,750 --> 00:01:23,080
‫Và điều đó có nghĩa là chúng ta cần có một số loại nút cho phép chúng ta bỏ đặt khóa bảng đen.

18
00:01:23,740 --> 00:01:25,300
‫Bây giờ điều đó không thực sự tồn tại.

19
00:01:25,300 --> 00:01:26,650
‫Bạn chỉ nghĩ rằng nó có, nhưng nó không.

20
00:01:26,650 --> 00:01:31,360
‫Vì vậy, đây là một cơ hội tuyệt vời để tôi chỉ cho bạn cách chúng tôi có thể tạo một tác vụ tùy chỉnh.

21
00:01:31,360 --> 00:01:37,150
‫Bây giờ, bạn có thể làm điều đó rất dễ dàng bằng cách sử dụng Blueprint, hoặc tôi sẽ chỉ cho bạn cách khó hơn một chút, nhưng cách

22
00:01:37,150 --> 00:01:41,050
‫cung cấp cho bạn rất nhiều sức mạnh, đó là thực hiện điều đó thông qua C ++.

23
00:01:41,440 --> 00:01:48,970
‫Vì vậy, chúng ta sẽ chuyển sang trình duyệt nội dung chính của mình, thêm mới và chuyển đến lớp C ++ mới và chúng ta sẽ

24
00:01:48,970 --> 00:01:51,640
‫muốn hiển thị hộp kiểm tất cả các lớp.

25
00:01:51,640 --> 00:01:56,950
‫Và sau đó chúng tôi đang tìm kiếm Beat Task và có rất nhiều tùy chọn ở đây.

26
00:01:56,950 --> 00:02:03,760
‫Bạn có thể thấy rất nhiều trong số chúng thực sự là những tác vụ được tích hợp sẵn như tạo tiếng ồn hoặc có sự di chuyển đến

27
00:02:03,760 --> 00:02:04,900
‫đây hoặc chờ đợi.

28
00:02:05,110 --> 00:02:08,950
‫Bây giờ bạn có thể đi và xem C ++ để xem chúng được triển khai như thế nào.

29
00:02:08,950 --> 00:02:13,720
‫Điều đó luôn hữu ích, nhưng điều chúng tôi quan tâm là chúng tôi nên kế thừa từ cái gì?

30
00:02:13,720 --> 00:02:17,200
‫Chúng ta nên sử dụng cái gì làm cơ sở cho nút của chính mình?

31
00:02:17,260 --> 00:02:19,030
‫Bây giờ có một số tùy chọn ở đây.

32
00:02:19,030 --> 00:02:25,420
‫Bạn có thể chọn lấy một nút tác vụ làm cơ sở của mình hoặc bạn có thể sử dụng đế bảng đen.

33
00:02:25,420 --> 00:02:27,100
‫Bây giờ sự khác biệt giữa hai là gì?

34
00:02:27,560 --> 00:02:28,630
‫Chúng ta hãy có một cái nhìn nhanh.

35
00:02:28,630 --> 00:02:31,930
‫Vì vậy, hãy chuyển sang thực sự sử dụng đế bảng đen.

36
00:02:31,930 --> 00:02:39,130
‫Và điều đó có nghĩa là nó có trình đơn thả xuống phím bảng đen này cho phép chúng ta chọn một phím bảng đen

37
00:02:39,130 --> 00:02:40,270
‫để làm việc.

38
00:02:40,270 --> 00:02:45,940
‫Điều đó có nghĩa là chúng ta không cần phải viết mã cho tác vụ của mình các phím trên bảng đen mà chúng ta đang làm việc, điều này

39
00:02:45,940 --> 00:02:49,990
‫thật tuyệt vì nó cho phép chúng ta sử dụng lại các tác vụ đó trong các tình huống khác nhau.

40
00:02:49,990 --> 00:02:55,690
‫Vì vậy, nếu bạn cần một phím bảng đen, thì đế bảng đen là một thứ tuyệt vời để đi cùng, nếu không bạn

41
00:02:55,690 --> 00:02:56,710
‫sử dụng cái khác.

42
00:02:56,710 --> 00:03:02,370
‫Vì vậy, chúng ta hãy thêm mới, thêm một lớp C ++ mới một lần nữa, hiển thị tất cả các lớp và chúng tôi đang tìm

43
00:03:02,500 --> 00:03:06,910
‫kiếm nhiệm vụ đánh bại một lần nữa và chúng tôi sẽ chọn lần truy cập Blackboard Base tiếp theo.

44
00:03:06,910 --> 00:03:15,850
‫Bây giờ tôi sẽ đổi tên nó thành Beat Task, Underscore Clear Blackboard Value và chúng ta sẽ tiếp tục

45
00:03:15,850 --> 00:03:18,400
‫tạo lớp đó ở đây.

46
00:03:18,760 --> 00:03:20,470
‫Bây giờ, ban đầu, điều này sẽ thất bại.

47
00:03:20,470 --> 00:03:23,440
‫Vì vậy, hãy nhấp vào có và xem thông báo lỗi ở đây là gì.

48
00:03:23,710 --> 00:03:29,800
‫Nó đang nói điều gì đó về Liên kết, viết tắt của Liên kết, biểu tượng bên ngoài chưa được giải quyết, blah, blah,

49
00:03:29,800 --> 00:03:30,070
‫blah.

50
00:03:30,100 --> 00:03:35,590
‫Thông thường, khi bạn gặp phải loại lỗi này từ trình liên kết, điều này nói rằng bạn có thứ gì

51
00:03:35,590 --> 00:03:43,030
‫đó trong các tệp tiêu đề không có trong C ++ của bạn hoặc trong trường hợp này, điều đó có nghĩa là không có mô-đun nào được đưa

52
00:03:43,030 --> 00:03:44,860
‫vào mà chúng tôi đang dựa vào.

53
00:03:44,860 --> 00:03:52,030
‫Và dựa trên các loại biểu tượng mà nó đang tìm kiếm, tôi có thể thấy đây là giao diện chủ sở hữu tác vụ trò

54
00:03:52,030 --> 00:03:52,750
‫chơi AI.

55
00:03:53,020 --> 00:03:58,930
‫Có vẻ như nó đang tìm kiếm thứ gì đó để làm với các nhiệm vụ trong trò chơi và trên thực tế đó là một mô-đun.

56
00:03:58,930 --> 00:04:05,770
‫Vì vậy, nếu chúng ta xem qua mã Visual Studio của mình và chỉ mở trình duyệt tệp, nó sẽ chỉ cuộn lên

57
00:04:05,770 --> 00:04:07,300
‫dự án của tôi.

58
00:04:07,300 --> 00:04:09,850
‫Sau đó, dưới nguồn game bắn súng đơn giản.

59
00:04:09,850 --> 00:04:14,230
‫Nên có một bản build X game bắn súng đơn giản hoặc bất kể tên dự án của bạn là gì, hãy xây dựng.

60
00:04:15,040 --> 00:04:21,190
‫Và ở đây, nếu tôi cho chúng tôi thêm một chút không gian, bạn có thể thấy rằng chúng

61
00:04:21,190 --> 00:04:29,740
‫tôi có các phụ thuộc công khai này, tên mô-đun và tên mô-đun ở đây mà chúng tôi muốn thêm vào danh sách này sẽ là trò chơi.

62
00:04:30,890 --> 00:04:37,430
‫Nhiệm vụ với một S và nếu chúng ta tiếp tục thêm nó và quay lại và biên dịch ngay bây giờ, hy vọng mọi thứ sẽ

63
00:04:37,430 --> 00:04:40,070
‫biên dịch thành công vì bất kỳ lý do gì.

64
00:04:40,070 --> 00:04:44,680
‫Điều này không tự động được thêm vào khi bạn ghi đè cho một tác vụ khởi động.

65
00:04:44,690 --> 00:04:48,740
‫Bây giờ khi đã hoàn tất, chúng ta hãy xem những gì đã được tạo ra ở đây.

66
00:04:49,040 --> 00:04:57,590
‫Chúng tôi nên có một lớp mới, đó là nhiệm vụ beta của chúng tôi, gạch dưới giá trị bảng đen rõ ràng và nó khá

67
00:04:57,590 --> 00:04:59,210
‫trống vào lúc này.

68
00:04:59,270 --> 00:05:05,150
‫Bây giờ những gì tôi muốn làm là nếu chúng tôi thêm nó vào cây hành vi của chúng tôi vào lúc này, nó sẽ có

69
00:05:05,150 --> 00:05:06,320
‫một cái tên xấu xí.

70
00:05:06,320 --> 00:05:10,160
‫Vì vậy, chúng tôi muốn một cái tên đẹp cho con người có thể đọc được cho nhiệm vụ này.

71
00:05:10,160 --> 00:05:14,720
‫Và cách chúng ta sẽ làm điều này là thêm một hàm tạo và thiết lập một thuộc tính.

72
00:05:14,720 --> 00:05:17,570
‫Vì vậy, hãy tạo một hàm tạo công khai ở đây.

73
00:05:17,900 --> 00:05:21,620
‫Hàm tạo luôn có cùng tên với lớp để chúng ta có thể sao chép nó.

74
00:05:21,750 --> 00:05:26,720
‫Không cần sử dụng bất kỳ đối số nào dấu chấm phẩy ở cuối và sau đó chúng ta hãy tạo quá

75
00:05:26,720 --> 00:05:28,190
‫trình triển khai trong C ++.

76
00:05:28,520 --> 00:05:34,160
‫Và việc thực hiện chỉ cần đặt một biến gọi là tên nút.

77
00:05:34,160 --> 00:05:40,820
‫Vì vậy, nếu bạn đặt tên nút và sau đó bạn sử dụng một chuỗi, thì chuỗi mà chúng ta đặt sẽ là tên nút.

78
00:05:40,820 --> 00:05:43,220
‫Vì vậy, nó sẽ là bảng đen rõ ràng.

79
00:05:44,210 --> 00:05:48,730
‫Giá trị chỉ với khoảng trắng và viết hoa chính xác sẽ đẹp và dễ dàng.

80
00:05:48,740 --> 00:05:54,240
‫Bây giờ, một điều mà tôi đã quên làm tại thời điểm ghi là bao quanh nó bởi macro văn bản.

81
00:05:54,260 --> 00:05:58,880
‫Bây giờ bạn nên tiếp tục và làm điều đó trong mã của mình, nhưng bạn sẽ thấy điều đó trong mã của tôi.

82
00:05:58,880 --> 00:06:05,180
‫Nó sẽ tồn tại mãi mãi như thế này, và chúng ta có thể bắt đầu biên dịch nó ngay bây giờ.

83
00:06:06,680 --> 00:06:09,170
‫Tuyệt vời mà đã biên dịch thành công.

84
00:06:09,350 --> 00:06:12,170
‫Vì vậy, tôi thách thức bạn thêm nút mới này.

85
00:06:12,170 --> 00:06:17,050
‫Vì vậy, hãy thêm nó vào cuối hành vi điều tra và chỉ cần kiểm tra xem nó đã hoàn thành hay chưa.

86
00:06:17,060 --> 00:06:21,470
‫Về cơ bản, nó sẽ tự động hoàn thành mà không cần làm gì cả.

87
00:06:21,470 --> 00:06:22,790
‫Nhưng hãy kiểm tra xem tên đó có chính xác không.

88
00:06:22,790 --> 00:06:26,270
‫Kiểm tra để đảm bảo rằng bạn có thể thêm nó và chúng ta sẽ xem xét việc thêm hành vi trong bài giảng tiếp theo.

89
00:06:26,270 --> 00:06:27,560
‫Vì vậy, hãy tạm dừng video và bắt đầu.

90
00:06:28,730 --> 00:06:29,120
‫Được chứ.

91
00:06:29,120 --> 00:06:29,680
‫Chào mừng trở lại.

92
00:06:29,690 --> 00:06:35,660
‫Vì vậy, chúng ta hãy đi đến kẻ thù A của chúng ta. TÔI. và thêm vào khi kết thúc hành vi điều tra.

93
00:06:35,660 --> 00:06:39,440
‫Chúng tôi sẽ thêm vào giá trị bảng đen rõ ràng của chúng tôi.

94
00:06:39,440 --> 00:06:41,450
‫Bạn có thể thấy nó có một cái tên đẹp ở đó.

95
00:06:41,450 --> 00:06:45,620
‫Và bạn cũng có thể thấy rằng nếu bạn chuyển đến ngăn chi tiết, bạn có thể chọn một phím bảng đen.

96
00:06:45,620 --> 00:06:47,990
‫Chúng tôi sẽ chọn vị trí người chơi đã biết cuối cùng.

97
00:06:47,990 --> 00:06:53,240
‫Mặc dù điều đó chưa thực hiện được gì, nhưng bạn có thể thấy rằng chúng tôi có chức năng đó vì

98
00:06:53,240 --> 00:06:58,260
‫chúng tôi đã kế thừa từ Blackboard Base và hãy kiểm tra xem nó có tự động hoàn thành hay không.

99
00:06:58,260 --> 00:07:00,830
‫Nó nên làm và sau đó nó sẽ tiếp tục.

100
00:07:00,830 --> 00:07:07,070
‫Hãy chuyển nó sang một nhiệm vụ trọng lượng sau đó để chúng ta có thể thấy rằng chỉ cần thực hiện thẳng hoặc hoàn thành một

101
00:07:07,070 --> 00:07:08,000
‫cách tự động.

102
00:07:08,090 --> 00:07:17,480
‫Vì vậy, tôi sẽ chơi. Tôi sẽ đi và ẩn mình vào một góc hết mức có thể, và sau đó tôi sẽ đi xem xét quá

103
00:07:17,480 --> 00:07:23,090
‫trình điều tra đã trải qua và thực sự là anh ấy đã nhìn thấy tôi.

104
00:07:23,090 --> 00:07:25,190
‫Vì vậy, chúng ta hãy đi và ẩn một lần nữa.

105
00:07:25,220 --> 00:07:27,170
‫Đi và trốn quanh góc nếu tôi có thể.

106
00:07:28,610 --> 00:07:31,060
‫Tôi sẽ đi và sau đó tôi sẽ đi đến.

107
00:07:31,070 --> 00:07:31,560
‫Của bạn đây.

108
00:07:31,580 --> 00:07:35,690
‫Nó đi đúng qua giá trị bảng đen rõ ràng, điều đó có nghĩa là nó đã thành công, bởi vì

109
00:07:35,690 --> 00:07:40,430
‫chúng ta biết rằng nếu nó là một chuỗi và nó thất bại, nó phải có nó sẽ dừng lại và không chuyển sang

110
00:07:40,430 --> 00:07:41,000
‫trọng lượng.

111
00:07:41,000 --> 00:07:42,950
‫Vì vậy, đó là hoạt động chính xác.

112
00:07:42,950 --> 00:07:48,530
‫Giá trị thế giới đen rõ ràng chỉ là trả lại thành công ngay lập tức và tiếp tục chờ đợi bài giảng tiếp theo, chúng

113
00:07:48,530 --> 00:07:51,920
‫ta sẽ xem xét cách chúng ta thực sự có thể thêm vào chức năng.

114
00:07:51,920 --> 00:07:52,760
‫Tôi sẽ gặp bạn ở đó.

