﻿1
00:00:04,090 --> 00:00:09,970
‫Vì vậy, nếu tôi đến gần tòa tháp của chúng tôi, tôi có thể thấy rằng họ đang vẽ các quả cầu gỡ lỗi, chứng tỏ rằng

2
00:00:09,970 --> 00:00:13,780
‫họ đang gọi chức năng cứu hỏa và họ đang làm như vậy cứ sau 2 giây.

3
00:00:14,010 --> 00:00:17,290
‫Bây giờ, thêm vào đó, họ chỉ gọi chức năng này.

4
00:00:17,290 --> 00:00:22,330
‫Nếu tôi đang ở trong tầm bắn, nếu tôi quay lại đây, bạn sẽ nhận thấy rằng họ không vẽ các quả cầu gỡ lỗi.

5
00:00:22,330 --> 00:00:25,660
‫Vì vậy, điều này cũng liên quan đến việc kiểm tra khoảng cách.

6
00:00:25,660 --> 00:00:30,430
‫Và ngay sau khi tôi đủ gần, thì, họ sẽ bắt đầu vẽ những quả cầu gỡ lỗi đó.

7
00:00:30,460 --> 00:00:32,130
‫Xin chào và chào mừng trở lại.

8
00:00:32,140 --> 00:00:37,930
‫Bây giờ chúng tôi đã tạo một chức năng chữa cháy và chúng tôi đang sử dụng nó trong lớp xe tăng vì chúng tôi đã

9
00:00:37,930 --> 00:00:40,270
‫ràng buộc nó với ánh xạ hành động cứu hỏa.

10
00:00:40,270 --> 00:00:43,960
‫Nhưng chúng tôi cũng muốn sử dụng lại điều này với lớp tháp.

11
00:00:43,960 --> 00:00:48,820
‫Bây giờ, thay vì sử dụng đầu vào của người dùng cho lớp tháp, chúng tôi sẽ sử dụng bộ định thời.

12
00:00:48,820 --> 00:00:54,370
‫Chúng tôi sẽ tạo bộ hẹn giờ cho lớp tháp để bộ hẹn giờ có thể gọi chức năng cứu hỏa.

13
00:00:54,370 --> 00:01:00,400
‫Thường xuyên, chúng tôi sẽ đặt một số giây cụ thể giữa các lần gọi hàm fire.

14
00:01:00,400 --> 00:01:06,370
‫Vì vậy, vì chúng ta muốn hàm lửa được gọi thường xuyên trên lớp tháp, nên bây giờ chúng ta cần nói về

15
00:01:06,370 --> 00:01:07,450
‫bộ hẹn giờ.

16
00:01:07,450 --> 00:01:13,240
‫Unreal Engine có khả năng thiết lập bộ hẹn giờ bằng cách sử dụng một lớp có tên là F Timer Manager.

17
00:01:13,270 --> 00:01:18,670
‫Tồn tại một trình quản lý hẹn giờ thế giới quản lý bộ hẹn giờ trên thế giới.

18
00:01:18,700 --> 00:01:26,950
‫Giờ đây, trình quản lý bộ hẹn giờ trên thế giới này có một chức năng được gọi là Bộ hẹn giờ và bộ hẹn giờ lấy một số đầu vào chẳng

19
00:01:26,950 --> 00:01:29,050
‫hạn như tay cầm bộ hẹn giờ.

20
00:01:29,080 --> 00:01:34,000
‫Đây là một xử lý cho một bộ hẹn giờ cụ thể do trình quản lý bộ hẹn giờ quản lý.

21
00:01:34,000 --> 00:01:40,720
‫Điều này cho phép người quản lý có nhiều bộ hẹn giờ và chúng tôi có thể truy cập thông tin bộ hẹn giờ cho từng bộ hẹn giờ bằng cách sử

22
00:01:40,720 --> 00:01:44,410
‫dụng tay cầm bộ hẹn giờ làm một loại tên hoặc ID cho bộ hẹn giờ đó.

23
00:01:44,530 --> 00:01:47,680
‫Đây là một đối tượng của tay cầm hẹn giờ loại F.

24
00:01:47,680 --> 00:01:52,870
‫Vì vậy, chúng tôi tạo một tay cầm hẹn giờ và chuyển nó vào chức năng hẹn giờ đã đặt.

25
00:01:52,900 --> 00:01:59,560
‫Bây giờ đặt hẹn giờ cũng yêu cầu các đầu vào khác như tỷ lệ hoặc lượng thời gian mà chúng ta nên đợi trước

26
00:01:59,560 --> 00:02:01,630
‫khi thực sự làm điều gì đó.

27
00:02:01,630 --> 00:02:05,380
‫Bây giờ đó là một cái gì đó sẽ có trong hàm gọi lại của chúng tôi.

28
00:02:05,380 --> 00:02:12,130
‫Chúng tôi tạo một hàm và chúng tôi liên kết hàm này với bộ đếm thời gian để ngay sau khi đủ thời gian trôi qua, cụ thể

29
00:02:12,130 --> 00:02:16,690
‫là tốc độ bộ đếm thời gian, thì hàm gọi lại của chúng tôi có thể được gọi.

30
00:02:16,690 --> 00:02:22,660
‫Vì vậy, chúng tôi thấy rằng chúng tôi cần một vài thứ cho bộ đếm thời gian của mình và chúng tôi sẽ đặt những thứ này vào

31
00:02:22,660 --> 00:02:23,140
‫lớp tháp.

32
00:02:23,140 --> 00:02:30,040
‫Vì vậy, chúng ta hãy đi vào Tháp H và ở đây trong tệp Tháp H, chúng ta sẽ thêm một số biến riêng.

33
00:02:30,040 --> 00:02:33,940
‫Vì vậy, ngay trong tầm bắn, chúng ta sẽ cần tay cầm hẹn giờ của mình.

34
00:02:33,940 --> 00:02:40,840
‫Vì vậy, đây là tay cầm hẹn giờ F và chúng ta có thể gọi đơn giản là tay cầm hẹn giờ tốc độ cháy.

35
00:02:40,870 --> 00:02:44,590
‫Và chúng tôi cũng cần một tốc độ bắn sẽ trở thành một chiếc phao.

36
00:02:44,590 --> 00:02:50,320
‫Chúng ta sẽ gọi đây là tốc độ bắn và chúng ta có thể khởi tạo nó thành hai điểm F.

37
00:02:50,650 --> 00:02:56,920
‫Vì vậy, theo cách đó, chúng ta sẽ phải đợi hai giây trước khi hàm gọi lại của chúng ta thực sự được gọi.

38
00:02:57,040 --> 00:03:00,460
‫Và nói về các hàm gọi lại, chúng ta thực sự cần một hàm.

39
00:03:00,460 --> 00:03:05,500
‫Vì vậy, chúng ta sẽ tạo một hàm void và chúng ta có thể gọi đây là điều kiện kiểm tra cháy.

40
00:03:06,010 --> 00:03:12,760
‫Vì vậy, chúng tôi có một tay cầm bộ đếm thời gian và ngay sau khi chúng tôi đặt bộ đếm thời gian và nó bắt đầu chạy, thì chúng

41
00:03:12,760 --> 00:03:17,860
‫tôi có 2 giây để chờ trước khi bộ hẹn giờ thực sự dẫn đến chức năng của chúng tôi được gọi.

42
00:03:17,860 --> 00:03:23,890
‫Và tôi gọi đây là kiểm tra điều kiện cháy vì chúng tôi có thể kiểm tra xem tháp của chúng tôi có thể gọi chức năng cứu

43
00:03:23,890 --> 00:03:29,620
‫hỏa hay không để chúng tôi có thể đặt một số điều kiện mà chúng tôi có thể kiểm tra để đảm bảo rằng ngọn lửa sẽ

44
00:03:29,620 --> 00:03:30,280
‫được gọi.

45
00:03:30,280 --> 00:03:33,010
‫Bây giờ chúng ta đã khai báo hàm điều kiện cháy.

46
00:03:33,010 --> 00:03:38,710
‫Chúng ta cần xác định nó để có thể đi vào CPP tháp và xác định chức năng ở đây.

47
00:03:38,710 --> 00:03:45,940
‫Tôi sẽ đặt nó khi bắt đầu chơi, vì vậy tôi sẽ cung cấp cho nó một phần thân hàm và tên lớp tháp

48
00:03:45,940 --> 00:03:47,440
‫ngay trước tên hàm.

49
00:03:47,530 --> 00:03:53,710
‫Vì vậy, bây giờ chúng ta có một hàm, nhưng chúng ta thực sự cần đặt bộ đếm thời gian để thời gian đó sẽ bắt đầu

50
00:03:53,710 --> 00:03:56,530
‫chạy và hàm sẽ được gọi vào cuối thời gian đó.

51
00:03:56,530 --> 00:04:02,200
‫Và chúng tôi có thể đặt bộ đếm thời gian ở đây và bắt đầu chơi để nó bắt đầu chạy từ đầu trò chơi.

52
00:04:02,200 --> 00:04:09,910
‫Vì vậy, chúng tôi đã đề cập đến trình quản lý bộ hẹn giờ thế giới và chúng tôi có thể truy cập nó bằng một chức năng được gọi là Get

53
00:04:09,910 --> 00:04:10,810
‫World Timer Manager.

54
00:04:10,810 --> 00:04:16,120
‫Bây giờ, hãy tải Trình quản lý bộ hẹn giờ thế giới, trả về một đối tượng trình quản lý bộ hẹn giờ F.

55
00:04:16,120 --> 00:04:22,300
‫Và vì chúng tôi đang sử dụng loại đó, chúng tôi sẽ cần bao gồm tệp tiêu đề cho trình quản lý bộ đếm thời gian F.

56
00:04:22,300 --> 00:04:26,660
‫Vì vậy, đây là bao gồm nó chỉ đơn giản là trình quản lý hẹn giờ h.

57
00:04:26,680 --> 00:04:31,000
‫Và chúng ta cũng có thể thấy một số hàm thuộc lớp này.

58
00:04:31,000 --> 00:04:37,150
‫Vì vậy, hãy cuộn qua các chức năng này nếu bạn quan tâm đến tất cả các chức năng khác nhau của trình quản lý

59
00:04:37,150 --> 00:04:37,990
‫hẹn giờ F.

60
00:04:38,110 --> 00:04:44,320
‫Vì vậy, chúng tôi có thể bao gồm tệp tiêu đề này ở trên đỉnh tháp, ngay dưới tệp tiêu đề khác.

61
00:04:44,320 --> 00:04:51,220
‫Vì vậy, bây giờ chúng tôi đã bao gồm tệp tiêu đề đó, bây giờ chúng tôi có quyền truy cập vào trình quản lý bộ hẹn giờ thế

62
00:04:51,220 --> 00:04:55,060
‫giới và chức năng mà chúng tôi quan tâm được gọi là bộ hẹn giờ.

63
00:04:55,480 --> 00:05:01,060
‫Bây giờ nhận trình quản lý bộ đếm thời gian thế giới chỉ cần trả về một trình quản lý bộ hẹn giờ F, nó không trả về một con trỏ.

64
00:05:01,060 --> 00:05:03,460
‫Vì vậy, chúng tôi sẽ sử dụng dấu chấm thay vì.

65
00:05:03,520 --> 00:05:06,430
‫Mũi tên và chúng ta sẽ gọi đặt hẹn giờ.

66
00:05:06,550 --> 00:05:11,080
‫Bây giờ bộ hẹn giờ có một số phiên bản hoặc quá tải chức năng.

67
00:05:11,080 --> 00:05:17,230
‫Now vs code có cửa sổ bật lên này cho phép chúng tôi xem qua từng quá tải và xem các phiên bản khác nhau

68
00:05:17,230 --> 00:05:18,250
‫của chức năng này.

69
00:05:18,250 --> 00:05:24,730
‫Và phiên bản mà tôi quan tâm đầu tiên có tay cầm hẹn giờ F và chúng tôi sẽ sử dụng tay cầm hẹn giờ

70
00:05:24,760 --> 00:05:28,480
‫tốc độ bắn, cái mà chúng tôi đã khai báo trong Tháp H.

71
00:05:28,480 --> 00:05:35,200
‫Bây giờ, tham số tiếp theo cho quá tải hàm cụ thể của chúng ta sẽ là lớp người dùng, giống như trong trục

72
00:05:35,200 --> 00:05:37,350
‫liên kết và hành động liên kết.

73
00:05:37,360 --> 00:05:43,240
‫Đây là lớp mà chúng tôi đang làm việc trong đó chúng tôi đang ràng buộc chức năng cho nó sẽ là cái này.

74
00:05:43,240 --> 00:05:50,350
‫Bây giờ, tiếp theo sẽ là hàm gọi lại, đây sẽ là điều kiện cháy kiểm tra tháp A của chúng ta, đó là

75
00:05:50,350 --> 00:05:52,450
‫hàm mà chúng ta vừa tạo.

76
00:05:52,450 --> 00:05:58,930
‫Bây giờ chúng ta cần địa chỉ của toán tử vì bộ hẹn giờ lấy địa chỉ của hàm.

77
00:05:58,930 --> 00:06:05,590
‫Bây giờ, tham số tiếp theo là một float cho tỷ lệ, đây sẽ là khoảng thời gian sẽ trôi qua trước khi lệnh gọi

78
00:06:05,590 --> 00:06:07,390
‫lại của chúng ta được gọi.

79
00:06:07,390 --> 00:06:09,910
‫Đó sẽ là tốc độ bắn của chúng tôi.

80
00:06:09,910 --> 00:06:15,730
‫Và tham số cuối cùng là boolean sẽ chỉ định xem bộ đếm thời gian này có lặp lại hay không.

81
00:06:16,060 --> 00:06:22,000
‫Bây giờ tôi muốn chức năng gọi lại của chúng tôi được gọi cứ sau 2 giây, vì vậy tôi muốn bộ đếm thời gian này lặp lại.

82
00:06:22,000 --> 00:06:23,830
‫Vì vậy, tôi sẽ nói sự thật.

83
00:06:24,220 --> 00:06:28,180
‫Nếu chúng ta vượt qua sai thì 2 giây sẽ trôi qua.

84
00:06:28,180 --> 00:06:30,910
‫Hàm của chúng ta sẽ được gọi và đó sẽ là nó.

85
00:06:30,910 --> 00:06:37,030
‫Nhưng vì chúng ta đặt nó thành vòng lặp, hàm của chúng ta sẽ được gọi sau 2 giây, sau đó bộ đếm thời gian

86
00:06:37,030 --> 00:06:42,610
‫sẽ khởi động lại và sau đó hai giây nữa hàm sẽ được gọi lại và nó sẽ tiếp tục lặp cho

87
00:06:42,610 --> 00:06:44,290
‫đến khi trò chơi kết thúc.

88
00:06:44,290 --> 00:06:50,380
‫Vì vậy, bây giờ chúng ta có một hàm liên kết với bộ đếm thời gian của chúng ta và nó được thiết lập để được gọi sau mỗi 2 giây.

89
00:06:50,380 --> 00:06:55,540
‫Vì vậy, chúng tôi đã liên kết một chức năng với bộ đếm thời gian của mình và nó sẽ được gọi sau mỗi 2 giây.

90
00:06:55,660 --> 00:07:00,580
‫Nhưng chúng tôi muốn một số loại bằng chứng hoặc xác nhận rằng chức năng này thực sự đang được gọi.

91
00:07:00,580 --> 00:07:06,910
‫Vì vậy, đối với thử thách của bạn trong lớp tháp, hãy đi vào chức năng gọi lại mới của chúng tôi, kiểm tra tình trạng cháy.

92
00:07:06,910 --> 00:07:09,310
‫Đảm bảo xe tăng trong phạm vi lửa.

93
00:07:09,310 --> 00:07:12,970
‫Bạn sẽ kiểm tra khoảng cách từ tháp đến bể.

94
00:07:12,970 --> 00:07:17,560
‫Và chúng tôi biết cách làm điều này vì chúng tôi đã thực hiện điều này trong chức năng đánh dấu.

95
00:07:17,560 --> 00:07:22,900
‫Vì vậy, bạn có thể cần phải xem chức năng đánh dấu và xem cách này được thực hiện như thế nào để tự nhắc

96
00:07:22,900 --> 00:07:28,720
‫nhở bản thân, bây giờ hãy kiểm tra khoảng cách đó, đảm bảo rằng chúng ta đang ở trong phạm vi cháy và sau đó, hãy gọi hàm

97
00:07:28,720 --> 00:07:31,330
‫cứu hỏa, tạm dừng video và thực hiện cái này bây giờ.

98
00:07:34,320 --> 00:07:34,680
‫Được chứ.

99
00:07:34,680 --> 00:07:41,700
‫Vì vậy, tôi đã trở lại Tower CP và tôi sẽ chỉ cuộn lên chức năng đánh dấu để tự nhắc nhở bản thân làm thế nào tôi đã đạt được

100
00:07:41,700 --> 00:07:45,620
‫khoảng cách này và kiểm tra xem nó có nằm trong phạm vi lửa hay không.

101
00:07:45,630 --> 00:07:50,420
‫Bây giờ chúng tôi chỉ cần sử dụng lại mã này ở đây và kiểm tra tình trạng cháy.

102
00:07:50,430 --> 00:07:56,790
‫Hiện tại, việc sử dụng lại mã không hiệu quả lắm, vì vậy chúng tôi có thể nghĩ đến việc cấu trúc lại mã này, nhưng trước tiên hãy đảm bảo rằng chúng

103
00:07:56,790 --> 00:08:02,040
‫tôi đã làm việc này để trước tiên chúng tôi có thể kiểm tra con trỏ xe tăng của mình để đảm bảo nó hợp lệ.

104
00:08:02,040 --> 00:08:04,440
‫Vì vậy, tôi sẽ làm điều đó ở đây và kiểm tra tình trạng cháy.

105
00:08:04,440 --> 00:08:09,870
‫Tôi sẽ nói nếu xe tăng và nếu xe tăng là hợp lệ, điều tiếp theo chúng ta có thể làm

106
00:08:09,870 --> 00:08:14,700
‫là lấy khoảng cách đó, giá trị này ở đây được tính bằng hàm f vector dist.

107
00:08:14,700 --> 00:08:19,380
‫Vì vậy, tôi sẽ lấy nó và đặt nó xuống đây để kiểm tra tình trạng cháy.

108
00:08:19,380 --> 00:08:25,050
‫Bây giờ, điều tiếp theo chúng ta làm là kiểm tra xem liệu khoảng cách có nhỏ hơn hoặc bằng tầm bắn hay không.

109
00:08:25,050 --> 00:08:26,610
‫Vì vậy, đó là những gì chúng tôi sẽ làm ở đây.

110
00:08:26,610 --> 00:08:34,200
‫Chúng ta sẽ nói nếu khoảng cách nhỏ hơn hoặc bằng phạm vi cháy và nếu đúng như vậy, thì chúng ta có thể chỉ

111
00:08:34,200 --> 00:08:35,820
‫cần gọi hàm chữa cháy.

112
00:08:35,820 --> 00:08:38,760
‫Vì vậy, chúng ta sẽ gọi lửa, và nó đơn giản như vậy.

113
00:08:38,760 --> 00:08:45,120
‫Vì vậy, chúng ta hãy tiếp tục và biên dịch cái này và chúng ta quay lại trình chỉnh sửa và tôi sẽ chơi trò chơi và

114
00:08:45,120 --> 00:08:46,080
‫vào tầm bắn.

115
00:08:46,080 --> 00:08:52,800
‫Và tôi có thể thấy rằng các tháp của chúng tôi đang vẽ các quả cầu gỡ lỗi ở đầu nòng súng để chúng

116
00:08:52,800 --> 00:09:00,630
‫tôi có thể thấy rằng chức năng cứu hỏa đó đang được gọi và nó hoạt động theo cùng một cách đối với tháp cũng như đối với xe tăng.

117
00:09:00,630 --> 00:09:01,740
‫Vì vậy, điều này là tuyệt vời.

118
00:09:01,740 --> 00:09:09,420
‫Điều này đang chứng minh cho chúng tôi thấy rằng bộ đếm thời gian của chúng tôi đang chạy và chức năng gọi lại của chúng tôi đang được gọi sau mỗi 2 giây.

119
00:09:09,450 --> 00:09:14,910
‫Được rồi, vì vậy chúng tôi đã có chức năng cứu hỏa này được gọi cứ sau 2 giây hiện đang được kiểm tra, tình trạng cháy.

120
00:09:14,910 --> 00:09:21,360
‫Chúng tôi có chức năng này mà chúng tôi đang xem liệu chúng tôi có ở trong phạm vi hay không và chúng tôi đang làm điều tương tự ở

121
00:09:21,360 --> 00:09:22,830
‫đây trong chức năng đánh dấu.

122
00:09:22,830 --> 00:09:26,070
‫Vì vậy, đây là một cơ hội hoàn hảo để tái cấu trúc.

123
00:09:26,070 --> 00:09:32,580
‫Chúng ta có thể tạo một số loại hàm sẽ trả về cho chúng ta một boolean nếu chúng ta ở trong phạm vi với xe tăng.

124
00:09:32,580 --> 00:09:37,710
‫Vậy tại sao chúng ta không tiếp tục và nhanh chóng cấu trúc lại nó thành một hàm trả về tăng giá?

125
00:09:37,710 --> 00:09:41,430
‫Vì vậy, ở đây trong Tháp H, chúng ta hãy tạo một hàm riêng.

126
00:09:41,430 --> 00:09:45,840
‫Nó sẽ trả lại bool và chúng ta sẽ nói trong phạm vi lửa.

127
00:09:45,840 --> 00:09:51,480
‫Bây giờ đây là một trò chơi đơn giản và tháp của chúng ta sẽ chỉ nằm trong phạm vi với xe tăng.

128
00:09:51,480 --> 00:09:57,120
‫Vì vậy, điều này không có gì mơ hồ bởi vì không có gì khác mà tháp muốn kiểm tra xem nó có nằm

129
00:09:57,120 --> 00:10:03,240
‫trong phạm vi bây giờ hay không, nếu đây là một trò chơi phức tạp hơn với những thứ khác mà tháp muốn kiểm tra khoảng

130
00:10:03,240 --> 00:10:08,340
‫cách, thì chúng ta có thể Tên này hơi khác một chút, nhưng chúng ta chỉ có thể gọi nó một

131
00:10:08,340 --> 00:10:10,320
‫cách đơn giản trong phạm vi lửa.

132
00:10:10,320 --> 00:10:14,130
‫Và những gì tôi sẽ làm là thực hiện điều này ở đây trong Tower.

133
00:10:14,130 --> 00:10:17,340
‫Vì vậy, hãy tiếp tục và tạo phần thân hàm.

134
00:10:17,340 --> 00:10:20,880
‫Chúng tôi sẽ cần một tháp trước khi sửa tên hàm.

135
00:10:20,880 --> 00:10:25,560
‫Và những gì chúng ta sẽ làm ở đây về cơ bản là kiểm tra khoảng cách tương tự.

136
00:10:25,560 --> 00:10:31,020
‫Vì vậy, trước tiên chúng tôi sẽ kiểm tra để đảm bảo rằng bể chứa hợp lệ bằng kiểm tra nếu.

137
00:10:31,020 --> 00:10:38,880
‫Bây giờ nếu đúng như vậy, thì chúng ta có thể có được khoảng cách này để có thể sao chép dòng này và chỉ cần tạo phao khoảng cách cục

138
00:10:38,880 --> 00:10:45,690
‫bộ của chúng ta ngay tại đây và chỉ cần kiểm tra khoảng cách đó so với phạm vi cháy để chúng tôi có thể nói nếu

139
00:10:45,690 --> 00:10:51,180
‫khoảng cách nhỏ hơn hoặc bằng phạm vi cháy, và nếu đúng như vậy, chúng ta có thể trả về true.

140
00:10:51,180 --> 00:10:54,780
‫Hàm này có thể trả về giá trị true.

141
00:10:54,780 --> 00:10:58,950
‫Và bây giờ chúng ta có một hàm mà chúng ta có thể gọi sẽ trả về true nếu chúng ta đang ở trong phạm vi.

142
00:10:58,950 --> 00:11:05,970
‫Bây giờ, ngay sau khi chúng ta nhấn vào dòng trả về true ở đây trong câu lệnh if, thì hàm sẽ trả về.

143
00:11:05,970 --> 00:11:07,470
‫Chúng tôi sẽ nhảy ra khỏi chức năng.

144
00:11:07,470 --> 00:11:10,830
‫Vì vậy, bất cứ điều gì khác sau câu lệnh if này sẽ không chạy.

145
00:11:10,830 --> 00:11:18,720
‫Vì vậy, những gì chúng ta có thể làm là vào cuối hàm in fire range, chúng ta có thể trả về false bởi vì nếu chúng ta

146
00:11:18,720 --> 00:11:25,020
‫đạt đến giá trị trả về true, chúng tôi sẽ không bao giờ thực sự nhận được dòng return false ở đây.

147
00:11:25,020 --> 00:11:27,690
‫Chúng tôi chỉ đơn giản là sẽ thoát khỏi chức năng sớm.

148
00:11:27,690 --> 00:11:35,250
‫Nhưng nếu chúng ta không ở trong phạm vi, nếu việc kiểm tra khoảng cách này không thành công, thì chúng ta sẽ không bao giờ đạt được kết quả đúng.

149
00:11:35,370 --> 00:11:39,300
‫Và chúng ta sẽ đến cuối hàm và trả về false.

150
00:11:39,300 --> 00:11:45,930
‫Vì vậy, hàm này sẽ trả về true hoặc false dựa trên việc chúng ta có nằm trong phạm vi hay không và chúng ta có thể sử dụng

151
00:11:45,930 --> 00:11:49,440
‫hàm này thay vì sử dụng mã lặp lại trong hai hàm của mình.

152
00:11:49,440 --> 00:11:56,610
‫Vì vậy, trong tích tắc, chẳng hạn, chúng ta chỉ cần một lần kiểm tra để xem liệu chúng ta có trong tầm bắn hay không trước khi chúng ta xoay

153
00:11:56,610 --> 00:11:57,180
‫tháp pháo.

154
00:11:57,180 --> 00:12:06,240
‫Vì vậy, những gì chúng ta có thể làm là chúng ta có thể nói nếu trong phạm vi lửa và nếu điều này trả về sự thật, chúng ta đang ở trong phạm vi lửa nên chúng ta có

155
00:12:06,240 --> 00:12:07,830
‫thể gọi là tháp pháo xoay.

156
00:12:07,860 --> 00:12:10,170
‫Vì vậy, chúng tôi sẽ đặt điều đó ngay tại đó trong câu lệnh if.

157
00:12:10,170 --> 00:12:15,090
‫Và bây giờ tất cả mã này là không cần thiết, vì vậy chúng tôi có thể xóa nó một cách đơn giản.

158
00:12:15,450 --> 00:12:19,050
‫Và bây giờ nó trông gọn gàng hơn rất nhiều so với những gì chúng ta có trước đây.

159
00:12:19,050 --> 00:12:23,940
‫Và sau đó chúng ta có thể xuống đây để kiểm tra tình trạng cháy và làm điều tương tự.

160
00:12:23,940 --> 00:12:29,340
‫Thay vì tất cả những điều này, chúng tôi có thể chỉ cần kiểm tra xem có trong phạm vi lửa hay không.

161
00:12:31,800 --> 00:12:35,010
‫Và nếu có, chúng ta có thể gọi lửa một cách đơn giản.

162
00:12:35,280 --> 00:12:42,270
‫Vì vậy, bây giờ chúng tôi đã cấu trúc lại thành công tất cả mã đó thành một kiểm tra được thực hiện trong chức năng phạm vi lửa

163
00:12:42,270 --> 00:12:43,100
‫của chúng tôi.

164
00:12:43,110 --> 00:12:48,750
‫Vì vậy, hãy tiếp tục và biên dịch lại nó và chỉ chơi thử nó thật nhanh để đảm bảo rằng mọi thứ

165
00:12:48,750 --> 00:12:50,100
‫hoạt động như mong đợi.

166
00:12:50,100 --> 00:12:54,210
‫Vì vậy, chúng tôi sẽ tiếp tục và đánh trò chơi và vào tầm bắn.

167
00:12:54,210 --> 00:12:58,110
‫Và tất nhiên, chúng tôi đang ở trong tầm bắn và nó hoạt động chính xác.

168
00:12:58,110 --> 00:13:05,130
‫Vì vậy, tóm lại, chúng tôi đã tạo một bộ đếm thời gian và cứ sau 2 giây, chúng tôi sẽ gọi chức năng cứu hỏa trong

169
00:13:05,130 --> 00:13:05,760
‫lớp tháp.

170
00:13:05,790 --> 00:13:08,700
‫Bây giờ chúng tôi cũng đang kiểm tra xem liệu Xe tăng có nằm trong tầm bắn hay không.

171
00:13:08,700 --> 00:13:15,570
‫Vì vậy, chúng tôi chỉ gọi chức năng cứu hỏa sau mỗi 2 giây nếu xe tăng nằm trong khoảng cách tầm bắn.

172
00:13:15,570 --> 00:13:19,950
‫Và chúng tôi cũng thấy rằng chúng tôi đang sử dụng kiểm tra khoảng cách đó trong hai chức năng khác nhau.

173
00:13:19,950 --> 00:13:26,670
‫Vì vậy, chúng tôi đã cấu trúc lại nó thành chức năng của riêng nó và chúng tôi chỉ đơn giản gọi đó là để kiểm tra xem chúng tôi có nằm trong phạm vi không.

174
00:13:26,670 --> 00:13:29,970
‫Vì vậy, bây giờ chúng ta có một hàm lửa được gọi trên lớp tháp.

175
00:13:29,970 --> 00:13:35,190
‫Điều tiếp theo cần làm là thực sự bắt đầu phóng đạn bằng chức năng bắn của chúng ta.

176
00:13:35,190 --> 00:13:38,420
‫Vì vậy, chúng ta sẽ nói về điều đó trong video tiếp theo.

177
00:13:38,430 --> 00:13:39,330
‫Tôi sẽ gặp bạn sớm.

