﻿1
00:00:04,320 --> 00:00:06,060
‫Xin chào và hoan nghênh bài giảng này.

2
00:00:06,060 --> 00:00:10,950
‫Chúng tôi sẽ xem xét cách chúng tôi có thể ghi mọi thứ vào nhật ký đầu ra và cụ thể là

3
00:00:10,950 --> 00:00:16,290
‫cách chúng tôi có thể ghi các giá trị của các biến vào đó có thể giúp chúng tôi gỡ lỗi trò chơi của mình.

4
00:00:16,290 --> 00:00:18,450
‫Hãy đi sâu vào và xem cách này hoạt động như thế nào.

5
00:00:19,470 --> 00:00:26,640
‫Vì vậy, trong Blueprint, chúng tôi có thể ghi mọi thứ lên màn hình khi chúng tôi muốn nhanh chóng hiển thị một số thông tin hoặc

6
00:00:26,640 --> 00:00:30,340
‫có khả năng chỉ gỡ lỗi một cái gì đó trong quá khứ.

7
00:00:30,360 --> 00:00:38,820
‫Trong C ++, chúng tôi đã sử dụng một thuộc tính mới để làm điều đó, nhưng chúng tôi thực sự có thể làm điều này bằng cách sử dụng câu lệnh nhật ký và nó hơi phức

8
00:00:38,820 --> 00:00:43,610
‫tạp, không thực tế, đó là lý do tại sao tôi đã tránh làm điều đó cho đến thời điểm này.

9
00:00:43,620 --> 00:00:47,850
‫Vì vậy, chúng tôi đã quen thuộc hơn một chút với cú pháp C ++ trước khi giới thiệu nó với bạn.

10
00:00:48,180 --> 00:00:56,430
‫Bây giờ, cách nó hoạt động là nếu bạn có tiện ích mở rộng ở đây, cài đặt bốn đoạn mã không có thực bằng cách viết hoa và viết hoa, điều này thực sự

11
00:00:56,430 --> 00:01:00,570
‫trở nên dễ dàng hơn một chút vì bạn không phải nhớ tất cả độ phức tạp của

12
00:01:00,570 --> 00:01:01,200
‫cú pháp.

13
00:01:01,200 --> 00:01:07,860
‫Bạn chỉ cần nhập, bạn đăng nhập và nó sẽ bật lên với hộp thoại IntelliSense như thế này nói rằng bạn ghi nhật ký

14
00:01:07,860 --> 00:01:13,590
‫để giúp bạn viết ra toàn bộ đoạn mã và bạn có thể nhấn, nhập hoặc chọn nó bằng chuột.

15
00:01:13,590 --> 00:01:18,240
‫Và những gì bạn sẽ thấy là nó được viết ra một thứ giống như một hàm.

16
00:01:18,240 --> 00:01:21,120
‫Nó không thực sự là một chức năng.

17
00:01:21,510 --> 00:01:27,660
‫Nó có một chút ma thuật không có thật đang diễn ra ở đây, nhưng về cơ bản nó hơi giống một chức năng.

18
00:01:27,660 --> 00:01:33,330
‫Vì vậy, những gì chúng ta sẽ làm ở đây là chúng ta truyền một vài đối số vào hàm này.

19
00:01:33,330 --> 00:01:40,890
‫Phần đầu tiên cho chúng tôi biết loại danh mục nhật ký mà chúng tôi đang làm.

20
00:01:40,890 --> 00:01:44,700
‫Cái thứ hai cho chúng ta biết mức độ của nhật ký.

21
00:01:44,700 --> 00:01:46,860
‫Vậy thực chất nó khẩn cấp đến mức nào.

22
00:01:47,160 --> 00:01:52,950
‫Và cuối cùng chúng ta đã có thứ này ở đây, về cơ bản là một hàm bên trong một

23
00:01:52,950 --> 00:01:56,790
‫hàm cho chúng ta biết văn bản mà chúng ta cần in ra.

24
00:01:57,060 --> 00:01:58,980
‫Vì vậy, làm thế nào để điều này hoạt động?

25
00:01:58,980 --> 00:02:05,370
‫Nếu chúng ta chỉ để điều này trong mã của mình, chuyển sang biên dịch lần truy cập không thực tế, chúng ta muốn xem nó hiển thị ở

26
00:02:05,370 --> 00:02:05,730
‫đâu?

27
00:02:05,730 --> 00:02:10,230
‫Chà, khi quá trình biên dịch hoàn tất, chúng ta sẽ tiếp tục và chơi.

28
00:02:10,530 --> 00:02:15,480
‫Và những gì bạn thực sự đang tìm kiếm là nó sẽ không hiển thị trên màn hình ở đây.

29
00:02:15,480 --> 00:02:17,520
‫Nó sẽ ở trong đầu ra.

30
00:02:17,520 --> 00:02:22,630
‫Đăng nhập ở đây và bạn có thể thấy nó ở đây.

31
00:02:22,630 --> 00:02:28,230
‫Nó nói rằng, hiển thị tin nhắn của bạn và chúng tôi có bao nhiêu tin nhắn?

32
00:02:28,230 --> 00:02:30,960
‫Một hai ba bốn năm.

33
00:02:31,110 --> 00:02:39,270
‫Lý do cho điều này là nó hiển thị thông điệp cho mọi diễn viên trong cảnh của chúng tôi đó là một nền tảng

34
00:02:39,270 --> 00:02:39,930
‫chuyển động.

35
00:02:39,960 --> 00:02:43,770
‫CP Vì vậy, đó là lý do tại sao chúng tôi nhận được rất nhiều tin nhắn.

36
00:02:43,770 --> 00:02:48,030
‫Và bạn có thể thấy chúng tôi có thể thay đổi thông điệp thành bất cứ điều gì chúng tôi muốn nó ở đây.

37
00:02:48,540 --> 00:02:57,180
‫Và chúng tôi cũng có thể đưa thêm một số thông tin vào tin nhắn này, chẳng hạn như vị trí bắt đầu hoặc tên của diễn

38
00:02:57,180 --> 00:02:59,100
‫viên, những thứ tương tự.

39
00:02:59,280 --> 00:03:00,810
‫Vì vậy, chúng ta bắt đầu.

40
00:03:00,810 --> 00:03:04,980
‫Vì vậy, chúng tôi đã có nhật ký đầu ra, chúng tôi có thông điệp của mình và bạn có thể bắt đầu xem các danh

41
00:03:04,980 --> 00:03:06,120
‫mục tôi đang nói đến là gì.

42
00:03:06,120 --> 00:03:13,710
‫Bạn có thể thấy chúng tôi có nhật ký tạm thời ở đây, nhưng ở trên chúng tôi đã có nhật ký âm thanh nhật ký âm thanh trộn âm thanh Log World.

43
00:03:13,710 --> 00:03:18,480
‫Vì vậy, có nhiều hạng mục ghi nhật ký khác nhau giúp chúng ta phân biệt thông báo này đến từ đâu?

44
00:03:18,480 --> 00:03:21,060
‫Điều này đến từ phần nào của Unreal?

45
00:03:21,060 --> 00:03:26,790
‫Nhưng tạm thời nhật ký chủ yếu là những gì chúng ta sẽ sử dụng vì nó chỉ là một nơi tạm thời để đăng xuất

46
00:03:26,790 --> 00:03:29,340
‫các thông báo gỡ lỗi và sau đó sẽ hiển thị.

47
00:03:29,340 --> 00:03:35,130
‫Đây là cấp mặc định, cấp nhật ký, nhưng chúng ta có thể có các thông báo, là một loạt các thứ khác nhau.

48
00:03:35,130 --> 00:03:39,390
‫Nó có thể được hiển thị hoặc bất kỳ giá trị nào từ bảng này dưới đây.

49
00:03:39,390 --> 00:03:43,680
‫Vì vậy, bạn thấy hiển thị ở đây in một thông báo đến bảng điều khiển và tệp nhật ký.

50
00:03:43,680 --> 00:03:47,670
‫Chúng tôi có nhật ký ở đây chỉ in thông báo vào tệp nhật ký và không hiển thị trong bảng

51
00:03:47,670 --> 00:03:48,150
‫điều khiển.

52
00:03:48,150 --> 00:03:52,920
‫Vì vậy, điều này dành cho những thứ mà bạn không thực sự muốn nó hiển thị quá nhiều, nhưng có thể muốn sử dụng nó để

53
00:03:52,920 --> 00:03:53,400
‫gỡ lỗi.

54
00:03:53,400 --> 00:03:58,770
‫Nếu bạn đang gỡ lỗi trò chơi của ai đó và nó chạy trên máy của họ, họ đang gửi cho bạn một tệp nhật ký.

55
00:03:58,770 --> 00:04:00,270
‫Sau đó, bạn đã có cảnh báo.

56
00:04:00,270 --> 00:04:06,870
‫Đây là khi mọi thứ có vẻ không ổn và nó sẽ in nó vào bảng điều khiển nhật ký và nó cũng có

57
00:04:06,870 --> 00:04:07,530
‫màu vàng.

58
00:04:07,560 --> 00:04:14,340
‫Sau đó, chúng tôi đã gặp lỗi in nó thành màu đỏ và sau đó gây tử vong, về cơ bản là in ra bảng điều khiển và làm

59
00:04:14,640 --> 00:04:15,480
‫hỏng động cơ.

60
00:04:15,480 --> 00:04:21,720
‫Vì vậy, bạn muốn sử dụng cái này như một phương sách cuối cùng, nhưng nó cho phép bạn có các cấp độ khác nhau trong

61
00:04:21,720 --> 00:04:22,500
‫tệp nhật ký.

62
00:04:22,500 --> 00:04:27,330
‫Và tôi sẽ chỉ cho bạn thấy nó trông như thế nào nếu chúng tôi đưa các thông điệp khác nhau vào đây.

63
00:04:27,330 --> 00:04:32,790
‫Vì vậy, tôi sẽ sao chép dòng của chúng tôi để ghi nhật ký và tôi sẽ tạo ba trong số chúng.

64
00:04:32,790 --> 00:04:37,980
‫Chúng ta sẽ có màn hình, sẽ có cảnh báo, và chúng ta sẽ gặp lỗi.

65
00:04:37,980 --> 00:04:40,890
‫Bây giờ, đây thường là các cấp độ mà chúng tôi sẽ sử dụng.

66
00:04:40,890 --> 00:04:43,980
‫Vì vậy, chúng ta hãy đi trước và có một cái nhìn và xem chúng trông như thế nào.

67
00:04:43,980 --> 00:04:49,170
‫Hãy vào Unreal, nhấn nút biên dịch và dừng và khởi động lại trò chơi.

68
00:04:49,170 --> 00:04:55,290
‫Và nhân tiện, bạn có thể hiển thị nhật ký đầu ra bằng cách nhấn phím dấu ngã hai lần.

69
00:04:55,380 --> 00:05:02,070
‫Nó hiển thị ở đó bạn đi, chúng tôi đã có nhật ký đầu ra của chúng tôi và bạn có thể thấy chúng tôi có ba bộ

70
00:05:02,070 --> 00:05:05,970
‫thông báo, màn hình chỉ là cảnh báo màu trắng đơn giản, có màu vàng.

71
00:05:05,970 --> 00:05:09,690
‫Vì vậy, nó nổi bật hơn một chút, một lỗi, rõ ràng, nổi bật hơn rất nhiều.

72
00:05:09,690 --> 00:05:12,360
‫Bây giờ chúng tôi có thể thêm dữ liệu vào thông báo nhật ký của chúng tôi.

73
00:05:12,360 --> 00:05:18,600
‫Tôi chỉ xóa các dòng cảnh báo và lỗi của nhật ký và chúng tôi có thể thêm vào một số.

74
00:05:18,700 --> 00:05:21,280
‫Sau đó, chuỗi này sẽ được in ra.

75
00:05:21,280 --> 00:05:27,190
‫Cách chúng ta sẽ làm điều này, ví dụ, nếu tôi muốn in ra khoảng cách di chuyển được định cấu

76
00:05:27,190 --> 00:05:34,480
‫hình cho một nền tảng cụ thể khá dễ thực hiện, chúng ta có thể nói khoảng cách di chuyển đã định cấu hình và đó

77
00:05:34,480 --> 00:05:36,190
‫là văn bản sẽ hiển thị.

78
00:05:36,190 --> 00:05:37,840
‫Tôi sẽ đặt một dấu hai chấm ở đây.

79
00:05:37,840 --> 00:05:44,560
‫Và hãy nhớ rằng, tất cả điều này nằm trong dấu ngoặc kép để đảm bảo rằng chúng ta đang đưa vào văn bản.

80
00:05:45,010 --> 00:05:51,460
‫Và sau đó chúng ta có thể sử dụng dấu phần trăm theo sau là ký tự F.

81
00:05:51,610 --> 00:05:57,360
‫Và bạn thấy điều đó được đánh dấu theo cách khác bởi vì đây là định dạng được gọi là định dạng được chỉ định ở đây.

82
00:05:57,400 --> 00:06:01,900
‫Đó là thứ đến từ C trong suốt lịch sử.

83
00:06:01,900 --> 00:06:07,540
‫Và về cơ bản, bạn thường làm một dấu phần trăm và sau đó một số chữ cái, bạn có thể thấy các chữ cái khác

84
00:06:07,540 --> 00:06:08,350
‫nhau ở đây.

85
00:06:08,380 --> 00:06:15,670
‫F tương ứng với một dấu phẩy động thập phân và bạn có thể xem một ví dụ về kết quả trông như thế

86
00:06:15,670 --> 00:06:17,410
‫nào trong cột ví dụ.

87
00:06:17,410 --> 00:06:26,530
‫Và có rất nhiều thứ khác ở đây chúng ta có thể biểu diễn bằng D hoặc I một số nguyên thập phân như vậy.

88
00:06:26,980 --> 00:06:30,820
‫Vì vậy, chúng tôi đang sử dụng F vì chúng tôi có một số dấu phẩy động.

89
00:06:30,820 --> 00:06:35,230
‫Và sau đó những gì chúng ta phải làm là thêm một đối số khác vào hàm E log.

90
00:06:35,230 --> 00:06:43,540
‫Vì vậy, hãy đảm bảo rằng bạn đang thực hiện việc này sau khi đã đóng dấu ngoặc cho hàm văn bản này và thay vào đó chúng

91
00:06:43,540 --> 00:06:45,520
‫tôi đặt dấu phẩy sau đây.

92
00:06:45,520 --> 00:06:51,730
‫Vì vậy, giữa hai dấu ngoặc này, nó nên ở bên trong của tập hợp bên ngoài, nhưng ở bên ngoài của tập hợp bên trong, nếu điều

93
00:06:51,730 --> 00:06:52,690
‫đó có ý nghĩa.

94
00:06:52,900 --> 00:07:00,910
‫Và sau đó những gì chúng ta có thể làm là chúng ta có thể chuyển vào giá trị của biến của chúng ta để chúng ta có thể thực hiện biến khoảng cách di

95
00:07:00,910 --> 00:07:04,390
‫chuyển như vậy, chúng ta hãy đi vào Unreal và xem điều này thực tế.

96
00:07:04,390 --> 00:07:11,170
‫Tôi nhấn nút biên dịch, đóng cửa sổ biên dịch và nhấn play, sau đó nhấn Tilde hai lần để hiển thị

97
00:07:11,170 --> 00:07:11,860
‫nhật ký.

98
00:07:11,860 --> 00:07:17,980
‫Và bạn có thể thấy khoảng cách di chuyển được định cấu hình của chúng tôi hiển thị cho các nền tảng

99
00:07:17,980 --> 00:07:24,130
‫khác nhau, 505 trăm cho hai nền tảng di chuyển và 1500 cho ba lần đẩy mà chúng tôi đã có trong cảnh.

100
00:07:24,130 --> 00:07:29,620
‫Vì vậy, một thông tin có thể hơi thú vị hoặc mang tính hướng dẫn là trước đây chúng ta

101
00:07:29,620 --> 00:07:36,370
‫đã nói về cách chúng ta chạy quá tốc độ hoặc chúng ta đã vượt quá quãng đường đã di chuyển, và sẽ rất thú

102
00:07:36,370 --> 00:07:39,490
‫vị khi biết loại cấp độ nào đang xảy ra.

103
00:07:39,490 --> 00:07:43,510
‫Vì vậy, những gì chúng ta có thể làm là chúng ta có thể tạo một biến float bên trong câu lệnh if.

104
00:07:43,510 --> 00:07:45,520
‫Vì vậy, chúng tôi biết rằng chúng tôi hiện đang vượt quá mức.

105
00:07:45,520 --> 00:07:49,900
‫Chúng ta có thể nói vượt quá một biến float được gọi là vượt quá.

106
00:07:49,900 --> 00:07:56,440
‫Chúng tôi sẽ đặt nó bằng khoảng cách đã di chuyển trừ đi khoảng cách di chuyển.

107
00:07:56,440 --> 00:07:59,740
‫Vì vậy, điều đó cho chúng ta biết mức độ vọt lố là bao nhiêu.

108
00:07:59,740 --> 00:08:04,330
‫Vì vậy, tôi muốn bạn ghi lại biến overshoot mà chúng tôi vừa tạo ở đây.

109
00:08:04,330 --> 00:08:06,610
‫Vì vậy, hãy sử dụng chức năng ghi nhật ký Yule.

110
00:08:06,610 --> 00:08:11,470
‫Đây là để tham khảo ít nhất là loại cấu trúc mà bạn có thể sẽ sử dụng.

111
00:08:11,470 --> 00:08:19,330
‫Bạn cũng có thể thực hành bằng cách sử dụng tính năng đăng nhập tự động điền để thay vào đó, sau đó biên dịch và kiểm tra mã của bạn và

112
00:08:19,330 --> 00:08:21,220
‫xem nó có hoạt động hay không.

113
00:08:21,220 --> 00:08:22,660
‫Tạm dừng video và tiếp tục.

114
00:08:25,690 --> 00:08:26,170
‫Được chứ.

115
00:08:26,170 --> 00:08:26,970
‫Chào mừng trở lại.

116
00:08:26,980 --> 00:08:30,790
‫Vì vậy, chúng tôi sẽ sử dụng tùy chọn tự động hoàn thành ở đây.

117
00:08:30,790 --> 00:08:33,280
‫Tôi sẽ đóng thanh bên của mình xuống để có thêm một chút không gian.

118
00:08:33,400 --> 00:08:40,450
‫Và bên trong cái này, nếu sau khi chúng ta đã tạo biến, chúng ta sẽ nhập nhật ký của bạn và nhấn enter và sau đó chúng

119
00:08:40,960 --> 00:08:43,360
‫ta sẽ để nó ở chế độ hiển thị.

120
00:08:43,360 --> 00:08:52,690
‫Chúng ta sẽ làm cho nền tảng văn bản được phóng to quá mức và sau đó chúng ta sẽ sử dụng phần trăm F và sau đó

121
00:08:52,690 --> 00:09:00,970
‫giữa hai dấu ngoặc này, chúng ta sẽ thêm một đối số mới cho biến overshoot như vậy bây giờ chúng ta hãy quay

122
00:09:00,970 --> 00:09:02,020
‫lại với Unreal.

123
00:09:02,050 --> 00:09:08,770
‫Tôi nhấn nút biên dịch, đóng nhật ký mã hóa trực tiếp, nhấn phát và nhấn đúp vào phím dấu ngã đó.

124
00:09:09,310 --> 00:09:15,340
‫Và bạn có thể thấy rằng mỗi khi nền tảng quay lại, nó sẽ in ra một thông báo nhật ký và cho biết

125
00:09:15,340 --> 00:09:17,560
‫nó đã vượt quá bao nhiêu đơn vị.

126
00:09:17,560 --> 00:09:18,730
‫Bạn thực sự có thể nhìn thấy mạng.

127
00:09:18,730 --> 00:09:26,200
‫Rất nhiều trường hợp nó vượt quá mức khá nhiều, khá nhiều đơn vị, ba đơn vị hoặc

128
00:09:26,200 --> 00:09:27,190
‫0. 5 chiếc.

129
00:09:27,190 --> 00:09:30,370
‫Về cơ bản đó là 0. 5% đến ba cm.

130
00:09:30,370 --> 00:09:35,230
‫Nó đủ để trong quá trình trò chơi của bạn, các nền tảng này có thể đã trôi dạt.

131
00:09:35,230 --> 00:09:39,250
‫Và thật tuyệt là chúng tôi đã triển khai một bản sửa lỗi cho điều đó.

132
00:09:39,280 --> 00:09:39,760
‫Công cụ tuyệt vời.

133
00:09:39,760 --> 00:09:45,280
‫Vì vậy, hy vọng bây giờ bạn đã có một công cụ khác trong kho vũ khí của mình để cố gắng tìm ra những gì đang xảy ra bên trong

134
00:09:45,280 --> 00:09:45,880
‫mã của bạn.

135
00:09:45,880 --> 00:09:51,220
‫Và sau này khi bạn cảm thấy tự tin hơn trong việc tạo mã của riêng mình, hãy cố gắng tìm

136
00:09:51,220 --> 00:09:53,020
‫ra những gì không hoạt động tốt.

137
00:09:53,470 --> 00:09:56,020
‫Được rồi, tôi sẽ gặp lại bạn trong bài giảng tiếp theo.

