﻿1
00:00:04,120 --> 00:00:04,630
‫Được chứ.

2
00:00:04,630 --> 00:00:08,980
‫Vì vậy, mục tiêu của chúng tôi cho video này là thực hiện cái chết cho Pons của chúng tôi.

3
00:00:08,980 --> 00:00:17,020
‫Vì vậy, nếu tôi bị bắn trúng một vài lần từ tháp của chúng tôi, bạn sẽ thấy rằng tôi đã biến mất vì xe tăng của tôi

4
00:00:17,020 --> 00:00:17,770
‫đã chết.

5
00:00:17,770 --> 00:00:23,650
‫Và nếu tôi đủ kỹ năng, nếu tôi có thể tiếp tục và tiêu diệt một trong số chúng, bạn sẽ thấy rằng nó cũng

6
00:00:23,650 --> 00:00:24,220
‫biến mất.

7
00:00:24,220 --> 00:00:29,200
‫Vì vậy, chúng tôi sẽ thực hiện cái chết cho những con tốt này trong video này.

8
00:00:29,290 --> 00:00:31,240
‫Xin chào và chào mừng trở lại.

9
00:00:31,270 --> 00:00:36,790
‫Bây giờ chúng tôi đã gây sát thương lên những con tốt khi chúng bị trúng đạn.

10
00:00:36,790 --> 00:00:40,600
‫Bây giờ chúng ta cần tìm hiểu xem chúng ta sẽ xử lý như thế nào sau khi chết.

11
00:00:40,600 --> 00:00:45,910
‫Điều này có nghĩa là chúng ta sẽ cần một số loại chức năng để xử lý việc phá hủy một tác nhân cụ thể.

12
00:00:45,910 --> 00:00:49,030
‫Vì vậy, chúng ta sẽ tạo một hàm phá hủy tay cầm.

13
00:00:49,030 --> 00:00:55,510
‫Chúng tôi cũng cần một diễn viên chết để hoạt động, điều này có thể cho phép chế độ trò chơi xử lý những gì xảy ra khi một

14
00:00:55,510 --> 00:01:01,480
‫diễn viên trong thế giới của chúng ta chết và chúng ta sẽ gọi diễn viên này là chức năng chết khi giá trị sức khỏe bằng

15
00:01:01,480 --> 00:01:03,340
‫0 đối với một con tốt cụ thể.

16
00:01:03,340 --> 00:01:07,630
‫Vì vậy, hãy nói về một chút lộ trình về cách chúng ta sẽ triển khai hệ thống này.

17
00:01:07,630 --> 00:01:14,080
‫Chúng tôi biết rằng chúng tôi có một đường đạn và nó đang gọi là sát thương áp dụng và điều này dẫn đến chức năng

18
00:01:14,080 --> 00:01:18,610
‫nhận sát thương phản hồi với chương trình phát sóng đại biểu đó trong thành phần sức khỏe.

19
00:01:18,610 --> 00:01:21,100
‫Vì vậy, chúng tôi cần phải tìm ra những gì cần làm từ đó.

20
00:01:21,100 --> 00:01:26,230
‫Chà, chế độ chơi của chúng tôi có thể có chức năng xử lý khi một diễn viên chết.

21
00:01:26,230 --> 00:01:30,370
‫Vì vậy, trong thiệt hại xảy ra, chúng ta có thể kiểm tra xem sức khỏe có đạt đến không.

22
00:01:30,370 --> 00:01:37,210
‫Và tại thời điểm đó, chúng ta có thể gọi chức năng chết của diễn viên trong chế độ chơi và từ đó con tốt của chúng ta có thể xử

23
00:01:37,210 --> 00:01:38,440
‫lý việc phá hủy nó.

24
00:01:38,440 --> 00:01:44,500
‫Vì vậy, cuối cùng sẽ tùy thuộc vào chế độ trò chơi để gọi chức năng phá hủy tay cầm trên diễn viên đã

25
00:01:44,500 --> 00:01:45,010
‫chết.

26
00:01:45,010 --> 00:01:49,660
‫Vì vậy, chúng tôi có một chút kế hoạch trò chơi, vì vậy chúng ta hãy phác thảo các bước cần thực hiện để thực hiện điều này.

27
00:01:49,660 --> 00:01:54,400
‫Đầu tiên, chúng ta sẽ tạo chức năng hủy xử lý và chúng ta sẽ đặt chức năng này vào lớp cầm đồ

28
00:01:54,400 --> 00:01:58,900
‫cơ sở để xử lý chức năng sẽ xảy ra khi bất kỳ con tốt nào của chúng ta chết.

29
00:01:58,900 --> 00:02:04,090
‫Và chúng tôi cũng sẽ thực hiện điều này trong các lớp xe tăng và tháp, vì mỗi lớp sẽ có chức năng độc

30
00:02:04,090 --> 00:02:09,520
‫đáo của riêng mình khi chúng chết, sau đó chúng tôi sẽ tạo một chức năng đã chết cho diễn viên và đặt nó vào lớp

31
00:02:09,520 --> 00:02:13,090
‫chế độ trò chơi để chúng ta có thể gọi xử lý phá hủy từ đó.

32
00:02:13,090 --> 00:02:18,730
‫Sau đó, chúng tôi sẽ gọi xử lý phá hủy trong chức năng diễn viên đã chết trên chế độ trò chơi và sau đó

33
00:02:18,730 --> 00:02:23,320
‫chúng tôi có thể gọi diễn viên chết vì thành phần sức khỏe khi sức khỏe đạt đến 0.

34
00:02:23,320 --> 00:02:27,640
‫Vì vậy, hãy bắt đầu với bước đầu tiên của chúng tôi tạo hàm hủy xử lý.

35
00:02:27,640 --> 00:02:33,430
‫Vì vậy, tôi đang ở đây trong Base Pond H và tôi muốn thêm chức năng phá hủy tay cầm này.

36
00:02:33,430 --> 00:02:38,740
‫Bây giờ tôi đang lên kế hoạch gọi chức năng này từ chế độ trò chơi, có nghĩa là nó sẽ cần phải là một

37
00:02:38,740 --> 00:02:42,850
‫chức năng công khai để tôi có thể đặt chức năng này ở đây trong phần công khai.

38
00:02:42,940 --> 00:02:46,840
‫Nó sẽ vô hiệu và tôi sẽ gọi nó là xử lý sự hủy diệt.

39
00:02:47,890 --> 00:02:50,710
‫Bây giờ, nó không cần phải lấy bất kỳ tham số đầu vào nào.

40
00:02:50,860 --> 00:02:55,360
‫Nó chỉ đơn giản là xử lý việc phá hủy con tốt cụ thể này.

41
00:02:55,360 --> 00:03:01,840
‫Vì vậy, hãy triển khai hàm này trong tệp CP cầm đồ cơ sở và tôi sẽ đặt nó ngay tại đây

42
00:03:01,840 --> 00:03:02,770
‫dưới hàm tạo.

43
00:03:02,770 --> 00:03:09,550
‫Vì vậy, tôi có xử lý phá hủy và tôi sẽ đặt tên lớp cầm đồ cơ sở ngay trước tên hàm

44
00:03:09,550 --> 00:03:10,180
‫ở đây.

45
00:03:10,180 --> 00:03:15,640
‫Bây giờ đây sẽ là những điều sẽ xảy ra khi bất kỳ con tốt nào dựa trên cơ sở cầm đồ chết.

46
00:03:15,640 --> 00:03:21,040
‫Vì vậy, tôi sẽ đặt một việc cần làm ở đây cho biết những gì chúng ta sẽ làm trong chức năng phá hủy tay cầm.

47
00:03:21,040 --> 00:03:26,800
‫Tôi muốn xử lý tất cả các hiệu ứng hình ảnh và âm thanh ở đây liên quan đến việc con tốt đang chết.

48
00:03:26,800 --> 00:03:32,860
‫Vì vậy, tôi sẽ chỉ nói các hiệu ứng âm thanh cắt xén hình ảnh và chúng tôi sẽ để nguyên ở đó và chúng tôi

49
00:03:32,860 --> 00:03:38,320
‫sẽ đảm bảo nhớ thực hiện điều này khi chúng tôi đến các hiệu ứng và âm thanh đặc biệt trong phần này của

50
00:03:38,320 --> 00:03:38,920
‫khóa học.

51
00:03:38,920 --> 00:03:44,890
‫Bây giờ chúng tôi đã xử lý tiêu diệt ở đây, nhưng tôi cũng muốn đặt một chức năng phá hủy xử lý ở

52
00:03:44,890 --> 00:03:50,050
‫cả lớp xe tăng và tháp để xử lý những gì xảy ra khi những con tốt đó chết.

53
00:03:50,050 --> 00:03:54,670
‫Và cách thực hiện phá hủy đơn giản nhất có lẽ sẽ dành cho tòa tháp của chúng ta.

54
00:03:54,670 --> 00:04:00,760
‫Vì vậy, chúng ta hãy đi vào Tháp H và chúng ta sẽ thêm một chức năng công khai ở đây được gọi là xử lý phá hủy.

55
00:04:00,760 --> 00:04:09,130
‫Vì vậy, tôi sẽ nói hủy hủy xử lý void và tôi sẽ thực hiện điều này và tháp CP ngay dưới chức năng

56
00:04:09,130 --> 00:04:10,060
‫đánh dấu.

57
00:04:10,060 --> 00:04:17,440
‫Vì vậy, đây là đánh dấu vào đây là xử lý phá hủy và tôi sẽ đặt tiền tố cho tên hàm với một tháp giống

58
00:04:17,440 --> 00:04:18,130
‫như vậy.

59
00:04:18,130 --> 00:04:24,280
‫Bây giờ trong chức năng phá hủy xử lý cho tháp, tôi muốn gọi là phiên bản siêu cấp để xử lý phá hủy trong cơ

60
00:04:24,280 --> 00:04:29,800
‫sở tốt được gọi và chúng tôi sẽ nhận được các hiệu ứng hình ảnh và âm thanh đó khi tháp chết.

61
00:04:29,800 --> 00:04:35,650
‫Vì vậy, tôi sẽ nói phá hủy siêu xử lý chỉ để đảm bảo rằng nó được gọi.

62
00:04:35,650 --> 00:04:39,040
‫Và sau đó, tôi chỉ đơn giản là sẽ phá hủy tòa tháp.

63
00:04:39,040 --> 00:04:40,390
‫Bây giờ chúng ta đã thấy nó hoạt động như thế nào.

64
00:04:40,390 --> 00:04:45,820
‫Chúng tôi chỉ đơn giản gọi là chức năng phá hủy, và điều đó sẽ xử lý sự phá hủy cho tòa tháp.

65
00:04:45,820 --> 00:04:52,960
‫Vì vậy, tôi có thể lưu tệp này và đóng tệp tháp và CP và bây giờ tôi có thể đặt chức năng phá hủy

66
00:04:52,960 --> 00:04:54,910
‫tay cầm trong lớp xe tăng.

67
00:04:54,910 --> 00:05:01,570
‫Vì vậy, tôi sẽ đi đến xe tăng và khai báo một chức năng công khai ở đây dưới chức năng đánh dấu được gọi là

68
00:05:01,570 --> 00:05:02,620
‫xử lý phá hủy.

69
00:05:03,640 --> 00:05:10,870
‫Và tôi sẽ đi đến Tank CP và thực hiện điều này ngay dưới tic ở đây, không quên thêm tiền tố

70
00:05:10,870 --> 00:05:13,360
‫tên chức năng với một xe tăng.

71
00:05:13,510 --> 00:05:17,950
‫Bây giờ, giống như trong lớp tháp, chúng tôi muốn gọi là sự phá hủy siêu tay cầm.

72
00:05:19,300 --> 00:05:22,120
‫Và theo cách đó, chúng ta sẽ có được những hiệu ứng hình ảnh và âm thanh.

73
00:05:22,150 --> 00:05:24,910
‫Bây giờ đối với xe tăng, chúng tôi sẽ làm điều gì đó khác một chút.

74
00:05:24,940 --> 00:05:27,700
‫Tôi muốn giấu chiếc xe tăng hơn là phá hủy nó.

75
00:05:27,700 --> 00:05:33,730
‫Và sau đó chúng tôi có thể vô hiệu hóa chức năng TIC của nó để nó vẫn tồn tại trên thế giới và chúng tôi sẽ vẫn sở hữu nó.

76
00:05:33,730 --> 00:05:35,740
‫Vì vậy, chúng tôi vẫn có được góc nhìn đó từ máy ảnh.

77
00:05:35,770 --> 00:05:38,610
‫Chỉ chúng ta sẽ không thể nhìn thấy nó hoặc di chuyển nó xung quanh.

78
00:05:38,620 --> 00:05:47,710
‫Vì vậy, để ẩn xe tăng, chúng ta có thể gọi một hàm có tên là diễn viên thiết lập ẩn trong trò chơi và điều này sẽ lấy một boolean.

79
00:05:47,710 --> 00:05:51,400
‫Và nếu chúng ta vượt qua true thì chúng ta sẽ ẩn xe tăng một cách hiệu quả.

80
00:05:51,430 --> 00:05:55,420
‫Bây giờ tôi cũng muốn tắt tính năng đánh dấu và cũng có một chức năng cho điều đó.

81
00:05:55,420 --> 00:05:58,810
‫Nó được gọi là thiết lập diễn viên tic đã được kích hoạt.

82
00:05:59,770 --> 00:06:05,260
‫Và đối với điều này, tôi sẽ chuyển sai, điều này sẽ vô hiệu hóa tính năng đánh dấu cho xe tăng.

83
00:06:05,260 --> 00:06:08,800
‫Vì vậy, điều đó sẽ đảm nhận chức năng phá hủy tay cầm của chúng tôi.

84
00:06:08,800 --> 00:06:11,590
‫Vì vậy, chúng tôi có chức năng phá hủy tay cầm của chúng tôi.

85
00:06:11,620 --> 00:06:16,020
‫Bước tiếp theo của chúng tôi là tạo một chức năng chết diễn viên trong chế độ chơi.

86
00:06:16,030 --> 00:06:17,440
‫Vì vậy, hãy thực hiện điều đó.

87
00:06:17,440 --> 00:06:25,870
‫Vì vậy, tôi đang ở đây trong chế độ chơi điều chỉnh xe tăng và ở đây tôi có thể tạo chức năng diễn viên đã chết. Bây giờ tôi định gọi

88
00:06:25,870 --> 00:06:32,200
‫diễn viên đã chết từ lớp thành phần sức khỏe, có nghĩa là đây cũng cần phải là một chức năng công khai.

89
00:06:32,440 --> 00:06:37,590
‫Vì vậy, tôi sẽ thêm một phần công khai và tạo chức năng chết diễn viên.

90
00:06:37,600 --> 00:06:40,930
‫Bây giờ điều này sẽ vô hiệu và tôi sẽ gọi nó là diễn viên đã chết.

91
00:06:41,170 --> 00:06:48,460
‫Và điều này có thể chỉ cần lấy một con trỏ diễn viên được gọi là Dead Actor và bây giờ chúng ta có thể thực hiện diễn viên đã chết trong chế độ

92
00:06:48,460 --> 00:06:49,740
‫chơi điều chỉnh xe tăng.

93
00:06:50,110 --> 00:06:58,690
‫CP Vì vậy, tôi sẽ đặt nó ở đây và tiền tố tên bằng chế độ chơi điều chỉnh xe tăng và bây giờ chúng ta có một chức

94
00:06:58,690 --> 00:07:00,220
‫năng chết diễn viên.

95
00:07:00,220 --> 00:07:05,890
‫Bây giờ tôi muốn kiểm tra xem tác nhân chết có phải là xe tăng hay không, điều đó có nghĩa là tôi sẽ cần một

96
00:07:05,890 --> 00:07:07,030
‫biến số cho xe tăng.

97
00:07:07,030 --> 00:07:09,460
‫Vì vậy, quay trở lại chế độ chơi điều chỉnh xe tăng.

98
00:07:09,460 --> 00:07:16,540
‫Tôi sẽ tạo một phần riêng tư và tôi sẽ thêm một biến tank mà tôi sẽ khai báo

99
00:07:16,540 --> 00:07:17,290
‫trước.

100
00:07:17,290 --> 00:07:23,290
‫Và nó là con trỏ bể loại A và tôi chỉ đơn giản là sẽ gọi cái bể này và tôi sẽ cần khởi tạo nó

101
00:07:23,290 --> 00:07:27,760
‫bằng địa chỉ của cái ao bể, và tôi có thể làm điều đó và bắt đầu chơi.

102
00:07:27,760 --> 00:07:33,640
‫Bây giờ chúng tôi đã thấy rằng bắt đầu chơi là một chức năng được bảo vệ và chúng tôi sẽ giữ nó được bảo vệ ở đây trong chế

103
00:07:33,640 --> 00:07:36,400
‫độ trò chơi để chúng tôi có thể ghi đè, bắt đầu, chơi.

104
00:07:36,400 --> 00:07:44,110
‫Vì vậy, tôi sẽ nói khoảng trống ảo, bắt đầu, chơi, ghi đè và tôi có thể triển khai nó ở đây trong điều chỉnh xe tăng, chế độ trò

105
00:07:44,110 --> 00:07:44,580
‫chơi.

106
00:07:44,860 --> 00:07:45,610
‫Chuẩn rồi.

107
00:07:45,640 --> 00:07:52,840
‫Vì vậy, nó sẽ bị vô hiệu khi bắt đầu chơi và tôi sẽ sử dụng xe tăng điều chỉnh, tên lớp chế độ trò chơi.

108
00:07:52,990 --> 00:07:56,110
‫Và điều đầu tiên tôi sẽ làm là gọi siêu bắt đầu chơi.

109
00:07:57,550 --> 00:08:03,040
‫Bằng cách đó, chúng tôi có được chức năng dành cho cha mẹ và tôi có thể giúp người chơi cầm đồ bằng cách sử dụng tĩnh trong trò chơi.

110
00:08:03,040 --> 00:08:10,660
‫Vì vậy, trước tiên tôi sẽ bao gồm các tĩnh trong trò chơi và đó là trong tĩnh trong trò chơi chém kismet như chúng

111
00:08:10,660 --> 00:08:11,680
‫ta đã thấy.

112
00:08:11,800 --> 00:08:17,290
‫Và ở đây tôi có thể lấy Tank và gán cho nó giá trị của tĩnh trong lối chơi của lứa trẻ.

113
00:08:18,230 --> 00:08:19,550
‫Bàn tay người chơi guitar.

114
00:08:20,360 --> 00:08:26,390
‫Bây giờ, điều này lấy một đối tượng bối cảnh thế giới mà chúng ta có thể sử dụng đối tượng này và tôi sẽ sử dụng số 0

115
00:08:26,390 --> 00:08:30,200
‫làm chỉ số người chơi vì xe tăng của chúng tôi sẽ luôn là người chơi 0.

116
00:08:30,200 --> 00:08:37,430
‫Bây giờ chúng ta biết rằng máy nghe nhạc phản lực - trả về một con trỏ A - và xe tăng thuộc loại xe tăng loại A, hạng con.

117
00:08:37,430 --> 00:08:43,910
‫Và chúng tôi đã thấy rằng chúng tôi cần phải truyền đến hạng xe tăng đó nếu chúng tôi muốn lưu trữ kết quả này trong một con trỏ xe

118
00:08:43,910 --> 00:08:44,510
‫tăng A.

119
00:08:44,510 --> 00:08:47,450
‫Vì vậy, đầu tiên tôi sẽ bao gồm phần đầu xe tăng.

120
00:08:47,450 --> 00:08:53,330
‫Vì vậy, tôi sẽ nói bao gồm xe tăng H và sau đó tôi sẽ chuyển sang một xe tăng.

121
00:08:53,390 --> 00:09:00,440
‫Vì vậy, tôi sẽ nói cast vào tank và tôi đang truyền giá trị trả về từ get player -.

122
00:09:00,440 --> 00:09:02,900
‫Vì vậy, tôi sẽ đặt nó trong ngoặc đơn ở đây.

123
00:09:03,260 --> 00:09:08,720
‫Và bây giờ chúng ta sẽ có một con trỏ tới người chơi - ở dạng một con trỏ xe tăng.

124
00:09:08,720 --> 00:09:14,090
‫Vì vậy, bây giờ chúng ta đã có xe tăng, chúng ta có thể kiểm tra xem tác nhân chết của chúng ta có phải là xe tăng hay không.

125
00:09:14,090 --> 00:09:21,800
‫Vì vậy, chúng ta có thể nói nếu tác nhân chết đôi bằng xe tăng bây giờ xe tăng có thể là null.

126
00:09:21,800 --> 00:09:28,940
‫Và điều đó không sao cả bởi vì nếu Tank là null và tác nhân chết đề cập đến chính tank, thì điều này sẽ không thành công trong việc kiểm tra if

127
00:09:28,940 --> 00:09:34,130
‫và chúng tôi sẽ không thực sự cố gắng truy cập vào một con trỏ null vì chúng tôi sẽ không vào bên

128
00:09:34,130 --> 00:09:35,060
‫trong của điều này.

129
00:09:35,060 --> 00:09:41,900
‫Bây giờ, nếu tác nhân chết thực sự là xe tăng, thì tôi muốn gọi chức năng phá hủy tay cầm xe tăng.

130
00:09:41,900 --> 00:09:44,870
‫Vì vậy, chúng tôi sẽ gọi là phá hủy xử lý xe tăng.

131
00:09:45,680 --> 00:09:52,100
‫Bây giờ, sau khi tôi gọi chức năng phá hủy tay cầm, tôi cũng muốn tắt đầu vào cho vỏ xe tăng để

132
00:09:52,100 --> 00:09:58,550
‫tôi có thể lấy xe tăng và gọi hàm tích hợp mà xe tăng kế thừa được gọi là vô hiệu hóa đầu vào.

133
00:09:59,540 --> 00:10:03,200
‫Bây giờ vô hiệu hóa đầu vào yêu cầu một bộ điều khiển trình phát.

134
00:10:03,200 --> 00:10:10,430
‫Bây giờ chúng ta biết rằng lớp xe tăng, nếu chúng ta đến đây vào xe tăng H có biến ref của bộ điều khiển người chơi này, đây

135
00:10:10,430 --> 00:10:17,270
‫là một con trỏ đến bộ điều khiển người chơi, đó là lý do tại sao tôi bắt đầu nghĩ rằng ref là một cái tên

136
00:10:17,270 --> 00:10:19,160
‫rất khủng khiếp cho biến này .

137
00:10:19,160 --> 00:10:21,320
‫Vì nó không phải là một tham chiếu, nó là một con trỏ.

138
00:10:21,320 --> 00:10:24,260
‫Tôi gần như muốn gọi nó là bộ điều khiển xe tăng.

139
00:10:24,350 --> 00:10:27,200
‫Vì vậy, trên thực tế, tại sao chúng ta không tiếp tục và đổi tên nó?

140
00:10:27,200 --> 00:10:33,530
‫Đây là điều mà các nhà phát triển thường làm khi họ nhận ra rằng họ đã đặt một biến, một cái tên xấu.

141
00:10:33,530 --> 00:10:36,290
‫Vì vậy, mã này có một cách để làm điều này một cách dễ dàng.

142
00:10:36,290 --> 00:10:42,350
‫Tôi có thể đánh dấu biến này và nhấn phím F hai và nó yêu cầu tôi đổi tên nó.

143
00:10:42,590 --> 00:10:45,710
‫Tôi sẽ gọi đây là bộ điều khiển xe tăng.

144
00:10:46,100 --> 00:10:47,480
‫Bây giờ hãy kiểm tra điều này.

145
00:10:47,480 --> 00:10:49,790
‫Nó được gọi là Bộ điều khiển người chơi xe tăng ở đây.

146
00:10:49,790 --> 00:10:54,350
‫Nếu tôi chuyển đến Tank CP, tôi sẽ thấy rằng nó cũng được đổi tên ở đây.

147
00:10:54,350 --> 00:11:00,530
‫Vì vậy, tôi không cần phải đi vào và tìm kiếm nó và tìm thấy mọi phiên bản của trình phát, bộ điều khiển, ref.

148
00:11:00,530 --> 00:11:06,050
‫Tôi có thể tìm kiếm bộ điều khiển xe tăng và thấy rằng nó đã được thay đổi ở mọi nơi mà nó được sử dụng ở đây.

149
00:11:06,050 --> 00:11:08,960
‫Vì vậy, đó là một kỹ năng tái cấu trúc tốt đẹp cần có.

150
00:11:08,960 --> 00:11:15,650
‫Vì vậy, dù sao, quay trở lại đây trong chế độ chơi điều chỉnh xe tăng, tôi cần phải tắt đầu vào cho xe tăng và điều này yêu cầu

151
00:11:15,650 --> 00:11:17,180
‫một bộ điều khiển người chơi.

152
00:11:17,360 --> 00:11:23,360
‫Vì vậy, trước tiên tôi sẽ kiểm tra để đảm bảo rằng bộ điều khiển của người chơi xe tăng là hợp lệ bằng cách nói nếu xe tăng và

153
00:11:23,360 --> 00:11:25,550
‫tôi cần truy cập bộ điều khiển người chơi đó.

154
00:11:25,550 --> 00:11:30,440
‫Nhưng hãy nhớ lại rằng trong xe tăng, biến bộ điều khiển trình phát của chúng tôi là riêng tư.

155
00:11:30,440 --> 00:11:36,860
‫Bây giờ chúng ta có thể tiết lộ điều này và công khai nó hoặc chúng ta có thể tạo một hàm getter công khai cho biến này.

156
00:11:36,860 --> 00:11:40,340
‫Tôi muốn công khai hơn vì đó là phương pháp lập trình tốt hơn.

157
00:11:40,340 --> 00:11:46,610
‫Vì vậy, ở đây trong phần công khai, tôi sẽ tạo một công cụ lấy công cộng cho bộ điều khiển người chơi xe tăng.

158
00:11:46,610 --> 00:11:53,300
‫Bây giờ nó sẽ trả về một con trỏ bộ điều khiển người chơi A và chức năng này sẽ được gọi là

159
00:11:53,630 --> 00:11:55,340
‫lấy người chơi xe tăng.

160
00:11:55,340 --> 00:12:02,900
‫Bộ điều khiển nhận được thường là tên của biến có get ở phía trước và chúng cũng thường được tạo thành chi phí vì

161
00:12:02,900 --> 00:12:09,830
‫chức năng này không được thiết kế để thay đổi bất kỳ thứ gì trong lớp này, nó chỉ trả về bộ điều

162
00:12:09,830 --> 00:12:10,970
‫khiển trình phát.

163
00:12:10,970 --> 00:12:16,760
‫Vì vậy, chúng tôi sẽ nói trả lại bộ điều khiển người chơi xe tăng và đó là tất cả những gì nó sẽ làm.

164
00:12:16,760 --> 00:12:22,760
‫Vì vậy, bây giờ chúng ta có một chức năng nhận công khai cho bộ điều khiển người chơi xe tăng, chúng ta có thể truy cập bộ

165
00:12:22,760 --> 00:12:25,640
‫điều khiển người chơi ở đây từ trong chế độ trò chơi.

166
00:12:25,880 --> 00:12:33,080
‫Vì vậy, chúng tôi sẽ nói nếu xe tăng có được bộ điều khiển của người chơi xe tăng và thực hiện lệnh gọi chức năng đó ở đây.

167
00:12:33,080 --> 00:12:38,450
‫Và nếu chúng ta tiếp cận bên trong câu lệnh if này, thì bộ điều khiển người chơi hợp lệ, vì vậy chúng ta có

168
00:12:38,450 --> 00:12:45,590
‫thể chuyển lệnh gọi này đến đầu vào vô hiệu hóa xe tăng ngay tại đây và chúng ta sẽ chuyển sang đầu vào bị vô hiệu hóa của bộ điều khiển người

169
00:12:45,590 --> 00:12:46,400
‫chơi xe tăng.

170
00:12:48,400 --> 00:12:51,950
‫Vì vậy, chúng tôi cũng sẽ gọi xe tăng nhận bộ điều khiển người chơi ở đây.

171
00:12:51,970 --> 00:12:57,910
‫Bây giờ, trong khi chúng tôi đang truy cập bộ điều khiển trình phát, tôi cũng muốn đưa các bộ điều

172
00:12:57,910 --> 00:13:03,640
‫khiển trình phát hiển thị biến thành viên Boolean con trỏ chuột và đặt giá trị này thành false.

173
00:13:03,640 --> 00:13:08,830
‫Vì vậy, chúng tôi đang tắt tính năng nhập và chúng tôi cũng đảm bảo rằng con trỏ chuột không được hiển thị.

174
00:13:08,830 --> 00:13:13,400
‫Vì vậy, điều đó sẽ đảm nhận việc xử lý các chức năng khi xe tăng chết.

175
00:13:13,420 --> 00:13:19,660
‫Bây giờ, trong trường hợp tác nhân chết không phải là xe tăng, thì tôi muốn kiểm tra xem đó có phải là một phiên bản

176
00:13:19,660 --> 00:13:21,010
‫của lớp tháp hay không.

177
00:13:21,010 --> 00:13:23,200
‫Vì vậy, tôi sẽ thêm một cái khác nếu ở đây.

178
00:13:23,320 --> 00:13:26,410
‫Vì vậy, điều gì sẽ là điều kiện cho điều này khác nếu ở đây?

179
00:13:26,440 --> 00:13:33,640
‫Chà, tôi muốn xem liệu diễn viên đã chết có thể được đưa lên tháp A hay không, điều đó có nghĩa là tôi sẽ

180
00:13:34,360 --> 00:13:35,800
‫cần đưa vào hạng tháp.

181
00:13:35,890 --> 00:13:37,300
‫Vì vậy, bao gồm tháp.

182
00:13:38,170 --> 00:13:40,270
‫Và sau đó tôi sẽ cố gắng cast.

183
00:13:40,270 --> 00:13:44,770
‫Vì vậy, tôi sẽ nói ép kiểu, trong đó có dấu ngoặc nhọn và dấu ngoặc đơn.

184
00:13:44,770 --> 00:13:50,410
‫Và những gì chúng tôi đang đúc cũng là một tòa tháp và những gì chúng tôi đang đúc đã chết.

185
00:13:50,410 --> 00:13:53,410
‫Diễn viên sẽ cố gắng để diễn viên đã chết.

186
00:13:53,410 --> 00:13:59,410
‫Bây giờ chúng ta thực sự có thể lấy kết quả của phép ép kiểu này và gán nó và tạo một biến cục bộ.

187
00:13:59,410 --> 00:14:09,310
‫Ở đây trong điều kiện, chúng ta có thể nói một con trỏ tháp và chúng ta có thể gọi tháp bị phá hủy này và gán cho nó giá trị

188
00:14:09,310 --> 00:14:11,470
‫trả về từ phép đúc này.

189
00:14:11,470 --> 00:14:18,250
‫Và nếu chúng ta làm điều đó, thì chúng ta có quyền truy cập vào diễn viên bị phá hủy này, chính là diễn viên đã chết của chúng ta được đưa vào một

190
00:14:18,250 --> 00:14:18,660
‫tòa tháp.

191
00:14:18,670 --> 00:14:22,630
‫Bây giờ, nếu điều này thành công, thì chúng ta sẽ đi đến bên trong elseif.

192
00:14:22,630 --> 00:14:24,670
‫Và sau đó chúng tôi có thể lấy của chúng tôi bị phá hủy.

193
00:14:25,490 --> 00:14:31,430
‫Tower và chúng ta có thể gọi đơn giản là xử lý phá hủy.

194
00:14:32,870 --> 00:14:39,800
‫Vì vậy, bây giờ chúng tôi có một chức năng chết diễn viên ở đây trong chế độ trò chơi gọi xử lý phá hủy và

195
00:14:39,800 --> 00:14:43,910
‫cũng xử lý một số chức năng khác liên quan đến chết cho xe tăng.

196
00:14:44,180 --> 00:14:45,980
‫Vì vậy, đó sẽ là bước thứ hai.

197
00:14:45,980 --> 00:14:52,220
‫Tạo một chức năng chết tác nhân và trong khi chúng tôi ở đó, chúng tôi cũng gọi là phá hủy xử lý trong

198
00:14:52,220 --> 00:14:53,540
‫chức năng tác nhân chết.

199
00:14:53,540 --> 00:14:58,150
‫Vì vậy, bước cuối cùng của chúng tôi là gọi diễn viên qua đời khi sức khỏe không còn nữa.

200
00:14:58,160 --> 00:15:04,310
‫Bây giờ để gọi hàm này tồn tại trên chế độ trò chơi, thành phần sức khỏe của chúng ta sẽ cần một

201
00:15:04,340 --> 00:15:07,250
‫biến lưu trữ địa chỉ của chế độ trò chơi.

202
00:15:07,250 --> 00:15:10,340
‫Vì vậy, chúng ta hãy đi vào lớp thành phần sức khỏe của chúng tôi.

203
00:15:10,340 --> 00:15:16,100
‫Đây là các thành phần sức khỏe và tôi sẽ thêm một biến riêng ở đây ngay phía dưới cùng.

204
00:15:16,100 --> 00:15:25,730
‫Và đây sẽ là con trỏ chế độ chơi điều chỉnh xe tăng loại A và chúng tôi sẽ gọi đây là chế độ chơi điều chỉnh xe tăng.

205
00:15:25,730 --> 00:15:31,010
‫Bây giờ tôi sẽ chuyển tiếp khai báo này để tôi không phải đưa tệp tiêu đề của nó vào đây và sau đó chúng ta cần

206
00:15:31,010 --> 00:15:32,480
‫truy cập vào chế độ trò chơi.

207
00:15:32,480 --> 00:15:38,990
‫Vì vậy, hãy chuyển đến CP thành phần sức khỏe và nếu tôi cuộn lên, tôi sẽ thấy chức năng bắt đầu chơi ở đây và đó

208
00:15:38,990 --> 00:15:41,690
‫là nơi hoàn hảo để nắm giữ chế độ trò chơi.

209
00:15:41,690 --> 00:15:44,840
‫Một lần nữa, việc đưa nó vào hàm tạo là quá sớm.

210
00:15:44,840 --> 00:15:50,530
‫Chúng tôi cần đảm bảo rằng chế độ trò chơi đã được xây dựng và tồn tại trước khi chúng tôi cố gắng truy cập nó.

211
00:15:50,540 --> 00:15:57,200
‫Bây giờ, đây là một chức năng tiện dụng khi chơi trò chơi tĩnh được gọi là Get Game Mode và nó cho biết trả về cơ sở hoặc null của

212
00:15:57,200 --> 00:16:01,610
‫chế độ trò chơi hiện tại nếu nó không thể được truy xuất, chẳng hạn như trên máy khách.

213
00:16:01,850 --> 00:16:07,730
‫Bây giờ trên máy khách phải làm với lập trình nhiều người chơi và chúng tôi không phải lo lắng về điều đó.

214
00:16:07,730 --> 00:16:14,930
‫Chúng tôi đang chạy trên một máy duy nhất cho trò chơi của mình, vì vậy hãy cuộn xuống và chúng tôi sẽ thấy rằng cơ sở

215
00:16:14,930 --> 00:16:18,230
‫chế độ trò chơi lấy một đối tượng bối cảnh thế giới.

216
00:16:18,230 --> 00:16:24,080
‫Đây chỉ là một đối tượng trong thế giới và chúng ta đã thấy cách xử lý các đối tượng bối cảnh thế giới.

217
00:16:24,080 --> 00:16:29,030
‫Vì vậy, điều này tồn tại trong trò chơi tĩnh h, vì vậy chúng ta hãy bao gồm điều đó.

218
00:16:29,030 --> 00:16:35,330
‫Và ở đây trong các thành phần sức khỏe, CP sẽ dán bao gồm của chúng tôi cho các tĩnh trong trò chơi và sau đó chúng tôi sẽ gọi tải

219
00:16:35,330 --> 00:16:37,490
‫chế độ trò chơi ở đây và bắt đầu chơi.

220
00:16:37,790 --> 00:16:40,670
‫Vì vậy, chúng ta sẽ nói điều chỉnh xe tăng, chế độ chơi.

221
00:16:42,030 --> 00:16:44,380
‫Và đặt điều đó thành giá trị của bạn.

222
00:16:44,400 --> 00:16:50,940
‫Gameplay tĩnh có chế độ chơi và cho đối tượng bối cảnh thế giới.

223
00:16:50,940 --> 00:16:54,750
‫Tôi sẽ vượt qua điều này và bây giờ chúng ta có chế độ chơi.

224
00:16:54,750 --> 00:17:01,080
‫Nhưng tất nhiên có được chế độ trò chơi, trả về cơ sở chế độ trò chơi và chúng tôi đang cố gắng lưu trữ

225
00:17:01,080 --> 00:17:06,810
‫nó trong lớp trẻ em, một chế độ trò chơi điều chỉnh xe tăng, có nghĩa là chúng tôi sẽ cần truyền.

226
00:17:06,810 --> 00:17:07,380
‫Đúng rồi.

227
00:17:07,380 --> 00:17:17,580
‫Vì vậy, chúng tôi cần nói truyền sang chế độ chơi điều chỉnh xe tăng và chúng tôi đang truyền kết quả từ chế độ chơi lấy.

228
00:17:17,580 --> 00:17:20,430
‫Vì vậy, tôi sẽ đặt nó trong dấu ngoặc đơn ở đó.

229
00:17:20,430 --> 00:17:22,410
‫Và chúng tôi đang sử dụng chế độ chơi điều chỉnh xe tăng.

230
00:17:22,410 --> 00:17:24,840
‫Vì vậy, tôi sẽ bao gồm tệp tiêu đề đó ở trên cùng.

231
00:17:24,840 --> 00:17:26,970
‫Vì vậy, tôi sẽ nói bao gồm.

232
00:17:28,960 --> 00:17:32,120
‫Chế độ chơi Tune Tanks.

233
00:17:33,100 --> 00:17:36,960
‫Vì vậy, chúng tôi có chế độ trò chơi ở đây trong thành phần sức khỏe.

234
00:17:36,970 --> 00:17:44,080
‫Chúng tôi đã sẵn sàng xuống đây để xem xét thiệt hại và kiểm tra xem sức khỏe của chúng tôi có về 0 hay không.

235
00:17:44,140 --> 00:17:52,060
‫Và trong trường hợp đó, chúng tôi có thể sử dụng con trỏ chế độ chơi xe tăng điều chỉnh của chúng tôi để gọi tác

236
00:17:52,060 --> 00:17:59,740
‫nhân chức năng đã chết đi qua diễn viên đã chết và đây sẽ là thử thách của bạn vì vậy trong lớp thành phần

237
00:17:59,740 --> 00:18:06,910
‫sức khỏe bị thiệt hại, bạn sẽ kiểm tra xem nếu giá trị của sức khỏe bằng không hoặc giảm xuống dưới 0.

238
00:18:06,940 --> 00:18:11,260
‫Nếu đúng như vậy, thì gọi là diễn viên đã chết khi sử dụng chế độ chơi.

239
00:18:11,260 --> 00:18:17,140
‫Vì chúng ta có một con trỏ đến chế độ trò chơi, trước tiên đừng quên kiểm tra xem con trỏ này có

240
00:18:17,140 --> 00:18:17,800
‫phải không.

241
00:18:17,800 --> 00:18:21,940
‫Và một khi bạn gọi là diễn viên đã chết, bạn sẽ cần phải chuyển giao một diễn viên.

242
00:18:21,940 --> 00:18:25,000
‫Bạn sẽ đi qua một diễn viên đã chết.

243
00:18:25,000 --> 00:18:30,370
‫Vì vậy, hãy tạm dừng video và thực hiện điều này trong chức năng thiệt hại được thực hiện ngay bây giờ.

244
00:18:33,280 --> 00:18:33,670
‫Được chứ.

245
00:18:33,670 --> 00:18:36,720
‫Vì vậy, chúng tôi đã trừ thiệt hại từ sức khỏe.

246
00:18:36,730 --> 00:18:41,220
‫Bây giờ chúng tôi đã sẵn sàng để kiểm tra xem liệu giá trị trạng thái đó có về 0 hay không.

247
00:18:41,230 --> 00:18:48,610
‫Vì vậy, tôi sẽ nói nếu sức khỏe nhỏ hơn hoặc bằng không F và nếu đúng như vậy thì gọi là

248
00:18:48,610 --> 00:18:49,450
‫phù hợp.

249
00:18:49,480 --> 00:18:55,090
‫Diễn viên đã chết bây giờ vì chúng tôi cần kiểm tra xem chế độ chơi có hợp lệ hay không.

250
00:18:55,090 --> 00:19:02,170
‫Tôi có thể đặt một quảng cáo tại đây nếu kiểm tra và kiểm tra xem chế độ chơi điều chỉnh xe tăng có hợp lệ hay không.

251
00:19:02,170 --> 00:19:07,060
‫Nếu nó là null, thì nó sẽ trả về false ở đây và chúng ta sẽ không tiếp cận bên trong câu lệnh if.

252
00:19:07,540 --> 00:19:13,600
‫Vì vậy, nếu chúng ta tiếp cận bên trong câu lệnh if, chế độ chơi điều chỉnh xe tăng là hợp lệ và sức khỏe đã đạt

253
00:19:13,600 --> 00:19:14,050
‫0.

254
00:19:14,050 --> 00:19:16,780
‫Vì vậy, chúng ta có thể nói điều chỉnh xe tăng, chế độ chơi.

255
00:19:17,980 --> 00:19:19,900
‫Và chúng ta có thể gọi là diễn viên đã chết.

256
00:19:20,830 --> 00:19:27,160
‫Và điều này cần một diễn viên và chúng ta biết rằng diễn viên đã chết sẽ là diễn viên bị thiệt hại.

257
00:19:27,160 --> 00:19:29,950
‫Vì vậy, chúng ta sẽ vượt qua tác nhân bị hư hỏng.

258
00:19:30,130 --> 00:19:33,640
‫Và bây giờ chúng ta có thể biên dịch cái này và xem cái đó.

259
00:19:33,640 --> 00:19:35,380
‫Chúng tôi có một biên dịch thành công.

260
00:19:35,380 --> 00:19:37,180
‫Vì vậy, hãy quay trở lại trình chỉnh sửa.

261
00:19:37,180 --> 00:19:40,690
‫Và đây trong trình soạn thảo, tại sao chúng ta không tiếp tục và thử nghiệm cái chết?

262
00:19:40,690 --> 00:19:45,790
‫Hãy xem liệu tôi có thể phá hủy một số xe tăng này trước khi tự mình bị phá hủy hay không.

263
00:19:45,790 --> 00:19:47,680
‫Đó sẽ là một thử thách.

264
00:19:47,710 --> 00:19:48,670
‫Ồ, có một cái.

265
00:19:48,670 --> 00:19:52,030
‫Tôi đã giết một trong số họ và tôi nhận được con thứ hai.

266
00:19:52,030 --> 00:19:53,230
‫Ồ, và tôi đã chết.

267
00:19:53,650 --> 00:20:01,840
‫Vì vậy, bạn có thể thấy rằng trò chơi này thú vị hơn rất nhiều khi chúng tôi đã thêm cái chết và sự hủy diệt vào các ao của chúng tôi.

268
00:20:01,840 --> 00:20:03,550
‫Vì vậy, điều này là tuyệt vời.

269
00:20:03,850 --> 00:20:11,050
‫Được rồi, vì vậy những gì tôi muốn bạn làm là tự vỗ về mình vì trong video này, chúng tôi đã xử

270
00:20:11,050 --> 00:20:18,010
‫lý Diễn viên Tử thần, liên quan đến tương tác khá nhiều giữa các lớp này trong trò chơi của chúng tôi.

271
00:20:18,100 --> 00:20:24,370
‫Bây giờ cái chết được thực hiện là cái ao đơn giản là biến mất, có nghĩa là chúng ta vẫn cần một

272
00:20:24,370 --> 00:20:24,940
‫vài thứ.

273
00:20:25,030 --> 00:20:26,890
‫Chúng tôi cần điều kiện thắng thua.

274
00:20:26,890 --> 00:20:30,490
‫Chúng tôi cần một cách để cho người chơi biết rằng họ đã thắng hay đã thua trong trò chơi.

275
00:20:30,490 --> 00:20:33,220
‫Và chúng ta cũng cần những hiệu ứng đặc biệt đó.

276
00:20:33,340 --> 00:20:36,430
‫Chúng ta cần một số âm thanh, chúng ta cần một số tiếng nổ.

277
00:20:36,430 --> 00:20:39,520
‫Những điều đó sẽ đến rất, rất sớm.

278
00:20:39,520 --> 00:20:41,170
‫Vì vậy, xin chúc mừng.

279
00:20:41,170 --> 00:20:46,570
‫Bạn đã đi được một chặng đường dài và chỉ còn vài bước nữa là bạn phải đi.

280
00:20:46,600 --> 00:20:48,310
‫Hẹn gặp lại các bạn trong video tiếp theo.

