﻿1
00:00:04,170 --> 00:00:04,650
‫Chào.

2
00:00:04,650 --> 00:00:05,610
‫Chào mừng trở lại.

3
00:00:05,640 --> 00:00:11,010
‫Bây giờ chúng tôi có đường đạn của mình và chúng tôi biết rằng nó tạo ra các sự kiện trúng đích, vì vậy chúng tôi cần

4
00:00:11,010 --> 00:00:14,250
‫phải làm gì đó khi quả đạn thực sự trúng mục tiêu của chúng tôi.

5
00:00:14,280 --> 00:00:19,200
‫Bây giờ, điều đó sẽ liên quan đến việc gây sát thương, có nghĩa là chúng ta cần một cách để theo dõi sức khỏe.

6
00:00:19,200 --> 00:00:24,840
‫Vì vậy, chúng ta sẽ tạo ra một lớp để xử lý sức khỏe và thiệt hại được gọi là thành phần sức khỏe.

7
00:00:24,930 --> 00:00:30,720
‫Và lý do chức năng này có lớp riêng là để chúng ta có thể sử dụng lại nó cho các lớp

8
00:00:30,720 --> 00:00:32,690
‫khác nhau như xe tăng và tháp.

9
00:00:32,700 --> 00:00:35,250
‫Vì vậy, chúng ta hãy thảo luận về thành phần sức khỏe này.

10
00:00:35,640 --> 00:00:38,900
‫Bây giờ chúng ta đã quen với lớp thành phần cảnh sử dụng.

11
00:00:38,910 --> 00:00:43,390
‫Vâng, lớp này có nguồn gốc từ một lớp được gọi là thành phần diễn viên của bạn.

12
00:00:43,410 --> 00:00:47,220
‫Trên thực tế, đây là tài liệu về thành phần cảnh sử dụng.

13
00:00:47,220 --> 00:00:53,100
‫Và trong hệ thống phân cấp kế thừa, bạn có thể thấy rằng thành phần cha chính là thành phần diễn viên của bạn.

14
00:00:53,130 --> 00:00:57,330
‫Bây giờ bạn hành động một thành phần là cơ bản hơn so với thành phần bạn đã thấy.

15
00:00:57,420 --> 00:00:59,070
‫Nó không có biến đổi.

16
00:00:59,070 --> 00:01:05,020
‫Vì vậy, vị trí, xoay và tỷ lệ không phải là thứ mà thành phần diễn viên của bạn thậm chí có.

17
00:01:05,040 --> 00:01:06,930
‫Nó không hỗ trợ tệp đính kèm.

18
00:01:06,930 --> 00:01:12,660
‫Bạn không thể đính kèm một thành phần hoạt động vào, chẳng hạn, một thành phần lưới tĩnh hoặc một thành phần viên nang.

19
00:01:12,660 --> 00:01:15,180
‫Nó chỉ là thứ thuộc về diễn viên.

20
00:01:15,180 --> 00:01:20,910
‫Và bởi vì không có hình ảnh đại diện hoặc biến đổi, chúng tôi không cần phải gắn nó vào bất cứ thứ gì.

21
00:01:21,000 --> 00:01:27,060
‫So sánh điều này với thành phần cảnh sử dụng, thành phần này thực sự có một phép biến đổi và khả năng

22
00:01:27,060 --> 00:01:31,640
‫tự gắn vào các thành phần khác hoặc để các thành phần khác tự gắn vào nó.

23
00:01:31,650 --> 00:01:36,450
‫Vì vậy, để theo dõi sức khỏe và đề phòng thiệt hại, chúng ta không cần bất kỳ thứ gì trong số đó.

24
00:01:36,450 --> 00:01:39,990
‫Vì vậy, bạn hành động một thành phần sẽ hoàn hảo cho việc này.

25
00:01:40,170 --> 00:01:44,880
‫Vì vậy, hãy quay lại đây vào trình soạn thảo và đặt hành động mới của chúng ta thành một lớp thành phần.

26
00:01:44,880 --> 00:01:48,690
‫Vì vậy, chúng ta sẽ đi đến các công cụ và lớp C ++ mới.

27
00:01:48,690 --> 00:01:51,890
‫Và nếu tôi cuộn xuống, tôi có thể thấy thành phần diễn viên.

28
00:01:51,900 --> 00:01:53,730
‫Đây là những gì chúng tôi sẽ chọn.

29
00:01:53,760 --> 00:01:54,630
‫Bây giờ hãy cẩn thận.

30
00:01:54,630 --> 00:01:56,400
‫Không chọn diễn viên.

31
00:01:56,400 --> 00:01:57,750
‫Đó là một giai cấp khác.

32
00:01:57,750 --> 00:02:02,610
‫Nó thực sự là một lớp lớn hơn và có nhiều thứ hơn thành phần diễn viên có.

33
00:02:02,610 --> 00:02:07,560
‫Chúng tôi cần thành phần tác nhân cụ thể, vì vậy hãy chọn thành phần đó, nhấp vào tiếp theo.

34
00:02:07,560 --> 00:02:11,490
‫Và cái này chúng ta có thể gọi đơn giản là Health Component.

35
00:02:11,880 --> 00:02:13,740
‫Hãy nhấp vào Tạo lớp.

36
00:02:14,190 --> 00:02:21,420
‫Bây giờ ở đây chúng tôi có các thành phần sức khỏe và tệp CP mới của chúng tôi và bạn có thể thấy ở đây rằng thành phần sức khỏe

37
00:02:21,420 --> 00:02:25,980
‫của bạn, lớp chúng tôi vừa tạo được bắt nguồn từ việc bạn hành động một thành phần.

38
00:02:25,980 --> 00:02:30,390
‫Vì vậy, hãy đảm bảo rằng bạn có đúng loại ở đây và bạn sẽ thấy rằng nó có chữ U.

39
00:02:30,390 --> 00:02:31,710
‫Macro lớp.

40
00:02:31,740 --> 00:02:36,360
‫Thẻ meta này chỉ định vị trí và nó cho biết bản thiết kế sinh ra thành phần bảng.

41
00:02:36,360 --> 00:02:41,790
‫Đây là những gì sẽ cho phép chúng tôi thêm thành phần này trực tiếp trong các bản thiết kế, đó là những gì chúng

42
00:02:41,790 --> 00:02:43,050
‫tôi sẽ làm bây giờ.

43
00:02:43,050 --> 00:02:48,960
‫Thành phần sức khỏe mới sẽ chăm sóc sức khỏe, có nghĩa là chúng ta cần một vài biến số.

44
00:02:48,960 --> 00:02:52,380
‫Hãy tiếp tục và thêm những thứ này và tôi sẽ đặt chúng ở chế độ riêng tư.

45
00:02:52,380 --> 00:02:58,500
‫Vì vậy, hãy tiếp tục và thêm một phần riêng tư ngay dưới phần được bảo vệ và chúng ta có thể thêm một

46
00:02:58,500 --> 00:02:59,700
‫vài biến sức khỏe.

47
00:02:59,700 --> 00:03:04,290
‫Bây giờ, chúng sẽ được thả nổi và tôi sẽ gọi cái đầu tiên là Max Health.

48
00:03:04,320 --> 00:03:10,440
‫Đây sẽ là lượng máu tối đa mà chúng ta có thể có và chúng ta có thể đặt giá trị này thành giá trị

49
00:03:10,440 --> 00:03:12,180
‫mặc định chẳng hạn như 100 F.

50
00:03:12,180 --> 00:03:18,000
‫Bây giờ, ngoài Máu tối đa, chúng ta sẽ có một giá trị máu sẽ là máu hiện tại và đây sẽ là

51
00:03:18,000 --> 00:03:20,850
‫những gì thay đổi khi chúng ta chịu sát thương.

52
00:03:20,850 --> 00:03:24,720
‫Vì vậy, chúng ta hãy tạo một phao khác và gọi đơn giản là một sức khỏe.

53
00:03:24,720 --> 00:03:30,900
‫Bây giờ chúng ta có thể khởi tạo sức khỏe bằng không F, sau đó đặt giá trị của nó và bắt đầu chơi.

54
00:03:30,900 --> 00:03:37,380
‫Và lý do chúng tôi sẽ làm điều đó là vì Max Health sẽ có tài sản riêng của bạn cho phép chúng tôi

55
00:03:37,380 --> 00:03:39,690
‫thiết lập nó từ trong bảng chi tiết.

56
00:03:39,690 --> 00:03:43,470
‫Vì vậy, hãy cung cấp cho nó một thuộc tính U và chỉnh sửa nó ở bất kỳ đâu.

57
00:03:43,680 --> 00:03:46,500
‫Bằng cách đó, chúng tôi có thể thay đổi nó khi chúng tôi đang phát triển.

58
00:03:46,500 --> 00:03:53,700
‫Và sau đó trong thành phần sức khỏe CP ở đây và bắt đầu chơi, chúng ta có thể chỉ cần đặt lượng máu bằng giá trị của

59
00:03:53,700 --> 00:03:54,600
‫máu tối đa.

60
00:03:54,600 --> 00:04:00,390
‫Vì vậy, theo cách đó khi trò chơi bắt đầu, sức khỏe sẽ có giá trị là sức khỏe tối đa ngay cả khi chúng tôi đã thay

61
00:04:00,390 --> 00:04:01,860
‫đổi nó trong bảng chi tiết.

62
00:04:02,040 --> 00:04:09,420
‫Được rồi, hãy biên dịch cái này và quay lại đây trong trình chỉnh sửa, tôi sẽ mở BP - tank và mở trình chỉnh sửa

63
00:04:09,420 --> 00:04:10,920
‫bản thiết kế đầy đủ.

64
00:04:10,920 --> 00:04:16,200
‫Và bây giờ tôi có thể thêm thành phần sức khỏe này ở đây trong bảng thành phần.

65
00:04:16,290 --> 00:04:20,130
‫Vì vậy, tôi sẽ nhấp vào Thêm và Tìm kiếm Sức khỏe.

66
00:04:20,370 --> 00:04:22,350
‫Và ở đây chúng ta thấy sức khỏe.

67
00:04:22,530 --> 00:04:25,860
‫Bây giờ, chúng tôi gọi nó là thành phần sức khỏe trong C ++.

68
00:04:25,860 --> 00:04:29,670
‫Và trên thực tế, cửa sổ bật lên cho thấy nó được gọi là thành phần sức khỏe.

69
00:04:29,670 --> 00:04:33,420
‫Vì vậy, nó loại bỏ phần thành phần đó khi hiển thị nó ở đây.

70
00:04:33,420 --> 00:04:38,220
‫Và bạn có thể nhận thấy rằng khi bạn tìm kiếm các thành phần lưới tĩnh hoặc thành phần viên nang, bạn cũng

71
00:04:38,220 --> 00:04:40,890
‫không thấy thành phần từ ở đây cho những thành phần đó.

72
00:04:40,890 --> 00:04:48,270
‫Vì vậy, hãy nhấp vào sức khỏe và bây giờ chúng tôi có thành phần sức khỏe của mình và bạn sẽ thấy rằng trong thành phần sức khỏe, chúng

73
00:04:48,270 --> 00:04:55,080
‫tôi có sức khỏe tối đa và nó được đặt thành 100 và chúng tôi không thấy sức khỏe vì chúng tôi không để lộ biến đó.

74
00:04:55,170 --> 00:05:02,430
‫Vì vậy, bây giờ BP - tank có một thành phần sức khỏe và nó nói rằng bể sở hữu thành phần sức khỏe này,

75
00:05:02,430 --> 00:05:03,390
‫BP - tank.

76
00:05:03,860 --> 00:05:06,590
‫Là chủ sở hữu của thành phần sức khỏe này.

77
00:05:06,620 --> 00:05:13,760
‫Hãy biên dịch và lưu cũng như đóng và mở tháp cầm đồ BP và mở trình chỉnh sửa bản thiết kế đầy đủ và chúng ta cũng

78
00:05:13,760 --> 00:05:16,930
‫có thể thêm một thành phần sức khỏe vào tháp pháo ao.

79
00:05:16,940 --> 00:05:21,620
‫Vì vậy, chúng ta hãy nhấp vào thêm thành phần, tìm kiếm sức khỏe và chọn sức khỏe.

80
00:05:21,620 --> 00:05:25,490
‫Và bây giờ chúng ta cũng có một thành phần sức khỏe trên tháp.

81
00:05:25,670 --> 00:05:30,560
‫Vì vậy, tôi sẽ biên dịch và lưu chúng lại và lưu tất cả.

82
00:05:30,590 --> 00:05:36,650
‫Vì vậy, bây giờ chúng tôi có một thành phần sức khỏe và chúng tôi đã đề cập rằng chúng tôi muốn có một thành phần sức khỏe để chúng tôi có

83
00:05:36,650 --> 00:05:38,740
‫thể sử dụng lại nó với các lớp khác nhau.

84
00:05:38,750 --> 00:05:44,330
‫Vì vậy, nếu chúng ta có một con tốt trên thế giới, chẳng hạn như tháp của chúng ta, nó sẽ có thành phần sức khoẻ riêng của nó và sau đó

85
00:05:44,330 --> 00:05:47,040
‫xe tăng của chúng ta có thể có thành phần sức khoẻ riêng của nó.

86
00:05:47,060 --> 00:05:52,340
‫Bây giờ, khi đường đạn của chúng ta tương tác với một trong hai thứ này, chẳng hạn như khi nó tạo ra một sự

87
00:05:52,340 --> 00:05:57,680
‫kiện trúng đích, khi bắn trúng một trong những thứ này, thì các con tốt của chúng ta có thể kích hoạt một số chức năng

88
00:05:57,680 --> 00:06:00,830
‫trong thành phần sức khỏe và thay đổi các giá trị sức khỏe đó.

89
00:06:00,830 --> 00:06:07,820
‫Đặt chức năng sức khỏe của chúng tôi trong một thành phần và sau đó thêm thành phần đó vào một lớp có một

90
00:06:07,820 --> 00:06:13,760
‫số lợi thế so với phương án thay thế, chẳng hạn như chỉ cần đặt chức năng sức khỏe trong lớp

91
00:06:13,760 --> 00:06:17,520
‫cầm đồ cơ sở và kế thừa nó trong bể và tháp.

92
00:06:17,540 --> 00:06:25,280
‫Bạn thấy đấy, điều này cho phép chúng tôi giữ cho các lớp xe tăng và tháp của chúng tôi nhỏ và chỉ xử lý chức năng được chỉ định

93
00:06:25,280 --> 00:06:26,420
‫cho các lớp đó.

94
00:06:26,420 --> 00:06:32,840
‫Trong khi thành phần sức khỏe có thể được thêm vào bất kỳ tác nhân nào khác, chẳng hạn như những thứ không hoạt động như xe

95
00:06:32,840 --> 00:06:33,800
‫tăng hoặc tháp.

96
00:06:33,800 --> 00:06:39,290
‫Ví dụ, chúng ta có thể làm một bức tường có thể phá hủy, nó có thể bị phá hủy ngay sau khi nó chịu

97
00:06:39,290 --> 00:06:39,950
‫đủ thiệt hại.

98
00:06:39,950 --> 00:06:43,910
‫Vì vậy, hãy nói một chút về cách chúng ta có thể biến điều này thành hiện thực.

99
00:06:43,910 --> 00:06:50,810
‫Unreal Engine đã tích hợp sẵn chức năng sát thương và hệ thống hư hỏng của nó thực sự khá phức tạp.

100
00:06:50,810 --> 00:06:58,490
‫Bất kỳ tác nhân nào trong trò chơi của chúng tôi đều thừa hưởng một số sự kiện thiệt hại, một trong số đó được gọi là nhận bất kỳ sự thiệt hại nào.

101
00:06:58,490 --> 00:07:03,440
‫Đây là một đại biểu đa hướng, giống như trên lần truy cập thành phần.

102
00:07:03,470 --> 00:07:08,360
‫Bây giờ chúng ta sẽ thêm các thành phần sức khỏe vào các con tốt của mình và những thành phần này sẽ dựa trên U của chúng ta.

103
00:07:08,360 --> 00:07:09,860
‫Lớp thành phần sức khỏe.

104
00:07:09,860 --> 00:07:16,550
‫Vì vậy, vì chúng ta biết rằng các con tốt của chúng ta sẽ kế thừa điều này khi có bất kỳ đại biểu thiệt hại nào, sau đó nếu

105
00:07:16,550 --> 00:07:22,640
‫chúng ta tạo hàm tùy chỉnh của riêng mình trong lớp thành phần sức khỏe, thì chúng ta có thể sử dụng hàm này như một lệnh

106
00:07:22,640 --> 00:07:25,940
‫gọi lại và liên kết nó với bất kỳ thiệt hại nào. đại biểu.

107
00:07:25,940 --> 00:07:33,200
‫Vì vậy, sau đó bất cứ khi nào một sự kiện thiệt hại được tạo ra, bất kỳ đại biểu thiệt hại nào có thể phát và bất

108
00:07:33,200 --> 00:07:37,460
‫kỳ hàm nào liên kết với nó trong danh sách gọi của nó sẽ được gọi.

109
00:07:37,460 --> 00:07:42,320
‫Vì vậy, câu hỏi tiếp theo là làm thế nào chúng ta thực sự có được đại biểu đó để phát sóng?

110
00:07:42,320 --> 00:07:45,080
‫Chúng tôi cần một cách để tạo ra một sự kiện thiệt hại.

111
00:07:45,080 --> 00:07:52,070
‫Chà, có một chức năng trong tính năng tĩnh trong trò chơi của bạn sẽ làm điều đó và nó được gọi là áp dụng sát thương.

112
00:07:52,070 --> 00:07:58,550
‫Nếu chúng tôi sử dụng chức năng tĩnh này từ tĩnh trong trò chơi của bạn để áp dụng sát thương, thì việc áp dụng sát thương

113
00:07:58,550 --> 00:08:02,180
‫sẽ có một số tham số, bao gồm cả tác nhân bị hư hại.

114
00:08:02,180 --> 00:08:09,620
‫Vì vậy, nếu chúng ta gọi là áp dụng thiệt hại, các tác nhân đang nhận bất kỳ đại biểu thiệt hại nào sẽ được kích hoạt và hàm gọi

115
00:08:09,620 --> 00:08:11,720
‫lại đó sẽ được gọi để phản hồi.

116
00:08:11,720 --> 00:08:15,830
‫Vì vậy, thiệt hại áp dụng là những gì tạo ra sự kiện thiệt hại.

117
00:08:15,830 --> 00:08:19,520
‫Vì vậy, để thiết lập tất cả những điều này, chúng ta có ba bước.

118
00:08:19,520 --> 00:08:25,760
‫Đầu tiên, hãy tạo một hàm gọi lại và vì hàm này sẽ bị ràng buộc khi nhận bất kỳ thiệt hại nào, nó phải có

119
00:08:25,760 --> 00:08:31,550
‫các thông số đầu vào chính xác để khi có bất kỳ thiệt hại nào sẽ gọi nó và chuyển vào tất cả các

120
00:08:31,550 --> 00:08:33,950
‫thông tin liên quan về sự kiện thiệt hại.

121
00:08:34,130 --> 00:08:37,970
‫Bước hai là liên kết lệnh gọi lại này với đại biểu.

122
00:08:38,000 --> 00:08:43,850
‫Chúng tôi đã thấy cách thực hiện điều này với đại biểu lần truy cập trên thành phần bằng cách sử dụng chức năng thêm động.

123
00:08:43,850 --> 00:08:45,530
‫Chúng tôi sẽ làm điều tương tự ở đây.

124
00:08:45,530 --> 00:08:52,000
‫Và bước thứ ba là tạo ra sự kiện sát thương bằng cách gọi hàm tĩnh của trò chơi bạn chơi, sát thương

125
00:08:52,010 --> 00:08:52,670
‫áp dụng.

126
00:08:52,670 --> 00:08:56,210
‫Vì vậy, hãy quay lại mã và bắt đầu thiết lập điều này.

127
00:08:56,600 --> 00:08:56,880
‫Được chứ.

128
00:08:56,960 --> 00:09:01,910
‫Vì vậy, chúng tôi đang ở đây trong thành phần sức khỏe và chúng tôi sẽ thêm một hàm gọi lại.

129
00:09:01,910 --> 00:09:05,810
‫Bây giờ, điều này có thể bị vô hiệu và chúng ta có thể gọi nó là bất cứ thứ gì chúng ta thích.

130
00:09:05,960 --> 00:09:08,450
‫Tôi sẽ gọi đây là thiệt hại được thực hiện.

131
00:09:08,450 --> 00:09:14,870
‫Và bởi vì chúng tôi đang ràng buộc điều này với một đại biểu, nó phải có các tham số đầu vào chính xác thích

132
00:09:14,870 --> 00:09:16,280
‫hợp cho đại biểu đó.

133
00:09:16,310 --> 00:09:23,240
‫Bây giờ đối với các hàm liên kết với on có bất kỳ đại biểu thiệt hại nào, danh sách tham số đầu vào phải như sau.

134
00:09:23,240 --> 00:09:30,830
‫Đầu tiên là một con trỏ diễn viên có tên là Damaged Actor, và đây là âm thanh của nó.

135
00:09:30,830 --> 00:09:33,320
‫Đó là diễn viên chịu thiệt hại.

136
00:09:33,350 --> 00:09:38,480
‫Tiếp theo là một phao được gọi là thiệt hại và đây là số tiền thiệt hại thực tế.

137
00:09:38,510 --> 00:09:45,950
‫Bây giờ, tiếp theo, chúng tôi có một con trỏ loại thiệt hại được gọi là loại thiệt hại.

138
00:09:46,220 --> 00:09:52,430
‫Và lý do chúng ta có thông số đầu vào này là vì Unreal Engine có khái niệm về các loại thiệt hại.

139
00:09:52,430 --> 00:09:59,090
‫Bạn có thể tạo các loại thiệt hại tùy chỉnh có thêm dữ liệu có thể thông báo cho bạn để làm những việc khác nhau tùy thuộc vào loại

140
00:09:59,090 --> 00:10:01,100
‫thiệt hại mà bạn có thể gặp phải.

141
00:10:01,100 --> 00:10:02,000
‫Thiệt hại của vụ cháy.

142
00:10:02,000 --> 00:10:03,260
‫Độc hại.

143
00:10:03,320 --> 00:10:05,570
‫Nổ thiệt hại và như vậy.

144
00:10:05,570 --> 00:10:11,330
‫Và nếu bạn muốn triển khai chức năng tùy chỉnh cho từng loại thiệt hại, thì bạn sẽ triển khai chức năng đó trong

145
00:10:11,330 --> 00:10:13,430
‫loại thiệt hại tùy chỉnh của riêng mình.

146
00:10:13,460 --> 00:10:19,040
‫Bây giờ chúng tôi không tạo loại thiệt hại tùy chỉnh của riêng mình, nhưng vì chúng tôi đang ràng buộc chức năng này với chức

147
00:10:19,040 --> 00:10:22,940
‫năng tiếp nhận bất kỳ thiệt hại nào, nên nó phải có các thông số đầu vào này.

148
00:10:22,940 --> 00:10:24,380
‫Vì vậy, chúng tôi bao gồm nó ở đây.

149
00:10:24,410 --> 00:10:32,090
‫Bây giờ tham số tiếp theo là một con trỏ bộ điều khiển A và đây được gọi là kẻ xúi giục và Hệ thống thiệt hại động

150
00:10:32,090 --> 00:10:33,330
‫cơ không thực tế.

151
00:10:33,350 --> 00:10:38,050
‫Kẻ xúi giục là người kiểm soát chịu trách nhiệm về thiệt hại.

152
00:10:38,060 --> 00:10:45,110
‫Vì vậy, nếu thiệt hại cuối cùng là do người chơi điều khiển một con tốt gây ra, thì kẻ chủ mưu là người

153
00:10:45,110 --> 00:10:46,820
‫điều khiển con tốt đó.

154
00:10:46,850 --> 00:10:49,600
‫Bây giờ, không phải lúc nào cũng cần phải có một kẻ chủ mưu.

155
00:10:49,610 --> 00:10:52,580
‫Nếu không có, thì giá trị này sẽ đơn giản là rỗng.

156
00:10:52,580 --> 00:10:59,510
‫Và bây giờ tôi nhận được các ô vuông màu đỏ để tôi có thể chuyển tiếp khai báo lớp bộ điều khiển A ở đây trong dấu ngoặc

157
00:10:59,510 --> 00:11:00,410
‫đơn cho hàm.

158
00:11:00,440 --> 00:11:06,980
‫Bây giờ, tham số cuối cùng là một con trỏ A Actor và tham số này được gọi là Damage Causer.

159
00:11:07,010 --> 00:11:10,370
‫Đây là tác nhân thực sự gây ra thiệt hại.

160
00:11:10,370 --> 00:11:13,220
‫Đây sẽ là đường đạn.

161
00:11:13,310 --> 00:11:20,670
‫Vì vậy, chúng tôi đã khai báo thiệt hại này đã thực hiện chức năng gọi lại và cũng giống như chức năng gọi lại khác của chúng tôi khi truy cập.

162
00:11:20,690 --> 00:11:22,970
‫Đây phải là một hàm u.

163
00:11:22,970 --> 00:11:28,550
‫Vì vậy, chúng tôi sẽ cung cấp cho nó macro chức năng chỉ để đảm bảo rằng nó hoạt động khi chúng tôi liên kết

164
00:11:28,550 --> 00:11:30,620
‫nó với bất kỳ đại biểu thiệt hại nào.

165
00:11:30,950 --> 00:11:35,680
‫Và bây giờ chúng tôi đã khai báo nó, chúng tôi đã sẵn sàng xác định nó trong tệp CPP.

166
00:11:35,690 --> 00:11:38,540
‫Vì vậy, ở đây trong các thành phần sức khỏe, CPP.

167
00:11:38,630 --> 00:11:45,530
‫Ở dưới cùng, tôi sẽ tiếp tục và cung cấp cho đây một phần thân hàm và đủ điều kiện cho

168
00:11:45,530 --> 00:11:46,970
‫hàm với tên lớp.

169
00:11:46,970 --> 00:11:49,400
‫Và bây giờ chúng tôi có một cuộc gọi lại.

170
00:11:49,400 --> 00:11:52,400
‫Vì vậy, bây giờ chúng ta cần phải ràng buộc điều này với đại biểu.

171
00:11:52,400 --> 00:11:59,180
‫Nhưng ủy quyền không tồn tại trên thành phần sức khỏe, nó tồn tại trên các tác nhân cụ thể.

172
00:11:59,180 --> 00:12:05,970
‫Chúng tôi muốn ràng buộc điều này với việc đại diện chịu bất kỳ thiệt hại nào trong con tốt sở hữu thành phần này.

173
00:12:05,990 --> 00:12:11,570
‫Vì vậy, làm thế nào để chúng tôi truy cập chủ sở hữu của thành phần này để chúng tôi có thể liên kết với một trong các đại biểu của nó?

174
00:12:11,570 --> 00:12:17,270
‫Chà, chúng ta sẽ làm điều này và bắt đầu chơi và cách chúng ta có thể truy cập chủ sở hữu của một

175
00:12:17,270 --> 00:12:19,460
‫thành phần là thông qua hàm git owner.

176
00:12:19,460 --> 00:12:23,530
‫Nếu bạn di chuột qua phần này, bạn sẽ thấy nó trả về một con trỏ tác nhân.

177
00:12:23,540 --> 00:12:27,620
‫Đây là con trỏ đến tác nhân sở hữu một thành phần.

178
00:12:27,620 --> 00:12:32,990
‫Các thành phần có thể được sở hữu bởi các con tốt, chúng có thể được sở hữu bởi các tác nhân, vì vậy nó sẽ

179
00:12:32,990 --> 00:12:35,630
‫trả về chủ sở hữu dưới dạng một con trỏ tác nhân.

180
00:12:35,810 --> 00:12:42,890
‫Vì vậy, chúng tôi có chức năng gọi lại của mình và bước thứ hai của chúng tôi là liên kết nó với người được ủy quyền để chịu bất kỳ

181
00:12:42,890 --> 00:12:46,640
‫thiệt hại nào sẽ tồn tại trên con tốt sở hữu thành phần sức khỏe.

182
00:12:46,790 --> 00:12:53,870
‫Vì vậy, vì bạn có kinh nghiệm gọi lại ràng buộc với các đại biểu, đây sẽ là thách thức của bạn trong lớp

183
00:12:53,870 --> 00:12:55,100
‫thành phần sức khỏe.

184
00:12:55,100 --> 00:13:02,420
‫Trong Bắt đầu chơi, bạn sẽ ràng buộc thiệt hại được thực hiện để nhận bất kỳ đại biểu thiệt hại nào tồn tại trên

185
00:13:02,420 --> 00:13:04,190
‫chủ sở hữu của thành phần.

186
00:13:04,190 --> 00:13:08,090
‫Vì vậy, bạn sẽ truy cập đại biểu đó thông qua chức năng get owner.

187
00:13:08,090 --> 00:13:13,640
‫Nói cách khác, bạn sẽ gọi cho chủ sở hữu và từ đó bạn sẽ truy cập vào bất kỳ thiệt hại nào.

188
00:13:13,640 --> 00:13:20,660
‫Và sau đó từ đó bạn biết cách liên kết lệnh gọi lại với các đại biểu bằng cách sử dụng thêm động nếu bạn gặp khó khăn,

189
00:13:20,660 --> 00:13:28,250
‫hãy xem cách chúng tôi liên kết lệnh gọi lại khi truy cập vào đại biểu truy cập trên thành phần tạm dừng video và ràng buộc thiệt hại được thực

190
00:13:28,250 --> 00:13:31,790
‫hiện để thực hiện bất kỳ đại biểu thiệt hại nào ngay bây giờ.

191
00:13:35,000 --> 00:13:35,360
‫Được chứ.

192
00:13:35,360 --> 00:13:40,610
‫Vì vậy, chúng tôi đã trở lại đây trong thành phần sức khỏe và chúng tôi đã sẵn sàng thực hiện việc ràng buộc chức năng gọi lại của chúng tôi.

193
00:13:40,610 --> 00:13:47,390
‫Vì vậy, ở đây và bắt đầu chơi, chúng ta sẽ truy cập chủ sở hữu bằng cách sử dụng chức năng git owner và

194
00:13:47,390 --> 00:13:54,770
‫từ đó chúng tôi sẽ sử dụng toán tử mũi tên để truy cập đại biểu được gọi, chịu bất kỳ thiệt hại nào và chịu bất

195
00:13:54,770 --> 00:14:01,520
‫kỳ thiệt hại nào có thêm động. hàm và nó chỉ đơn giản lấy một đối tượng người dùng và một tên hàm.

196
00:14:01,520 --> 00:14:05,240
‫Bây giờ đối tượng người dùng là đối tượng mà chúng ta đang ràng buộc hàm.

197
00:14:05,240 --> 00:14:10,130
‫Đó là lớp có chức năng gọi lại trên đó và đó sẽ là lớp này.

198
00:14:10,190 --> 00:14:14,420
‫Và cuối cùng chúng tôi có chức năng gọi lại của chúng tôi, sẽ là bạn.

199
00:14:14,420 --> 00:14:16,790
‫Tổn thương thành phần sức khỏe đã thực hiện.

200
00:14:16,790 --> 00:14:23,690
‫Bây giờ chúng ta cần nhớ địa chỉ của toán tử vì điều này thực sự lấy một địa chỉ của hàm.

201
00:14:23,690 --> 00:14:31,460
‫Vì vậy, bây giờ thiệt hại nhận được chắc chắn sẽ nhận bất kỳ thiệt hại nào và nó được thêm vào danh sách yêu cầu của đại biểu đó.

202
00:14:31,460 --> 00:14:37,790
‫Vì vậy, bất cứ khi nào chúng tôi tạo ra các sự kiện thiệt hại, chúng tôi sẽ nhận được một chương trình phát sóng từ đại

203
00:14:37,790 --> 00:14:40,970
‫biểu này, điều này sẽ dẫn đến hàm nhận thiệt hại, được gọi.

204
00:14:41,570 --> 00:14:48,320
‫Vì vậy, tóm lại, chúng tôi đã tạo thành phần sức khỏe của riêng mình và chúng tôi đã thêm một trong số này vào cả bản thiết

205
00:14:48,320 --> 00:14:50,540
‫kế bể chứa và bản thiết kế tháp.

206
00:14:50,660 --> 00:14:58,130
‫Chúng tôi đã tạo một hàm gọi lại được gọi là Damage Taken và chúng tôi ràng buộc nó ở trạng thái tiếp nhận bất kỳ thiệt hại nào.

207
00:14:58,130 --> 00:15:05,150
‫Bước tiếp theo là tạo ra một sự kiện thiệt hại sẽ dẫn đến việc phát sóng đại biểu thiệt hại nhận được bất kỳ thiệt hại

208
00:15:05,150 --> 00:15:10,640
‫nào để các thiệt hại do hàm gọi lại đã thực hiện của chúng tôi sẽ được gọi để phản hồi.

209
00:15:10,640 --> 00:15:13,520
‫Và chúng tôi sẽ thiết lập điều đó trong video tiếp theo.

210
00:15:14,240 --> 00:15:15,140
‫Tôi sẽ gặp bạn sớm.

