﻿1
00:00:04,350 --> 00:00:06,000
‫Witam i zapraszam na ten wykład.

2
00:00:06,000 --> 00:00:10,890
‫Przyjrzymy się, jak możemy zapisywać rzeczy w dzienniku wyjściowym, a konkretnie w jaki

3
00:00:10,890 --> 00:00:16,260
‫sposób możemy zapisywać w nim wartości naszych zmiennych, które mogą nam pomóc w debugowaniu naszych gier.

4
00:00:16,260 --> 00:00:18,180
‫Zanurzmy się i zobaczmy, jak to działa.

5
00:00:19,410 --> 00:00:26,610
‫Tak więc w Blueprint byliśmy w stanie pisać rzeczy na ekranie, gdy chcieliśmy szybko wyświetlić niektóre informacje

6
00:00:26,610 --> 00:00:30,060
‫lub potencjalnie po prostu debugować coś w przeszłości.

7
00:00:30,420 --> 00:00:38,790
‫W C++ użyliśmy do tego nowej właściwości, ale faktycznie możemy to zrobić za pomocą instrukcji log i jest to

8
00:00:38,790 --> 00:00:43,380
‫trochę skomplikowane, nierealne, dlatego unikałem tego do tego momentu.

9
00:00:43,620 --> 00:00:47,640
‫Więc jesteśmy nieco bardziej zaznajomieni ze składnią C++, zanim ją przedstawimy.

10
00:00:48,180 --> 00:00:56,730
‫Teraz działa to tak, że jeśli masz rozszerzenie tutaj, zainstaluj nierealne cztery fragmenty, buforując wersaliki.

11
00:00:57,000 --> 00:01:00,690
‫W rzeczywistości staje się to trochę łatwiejsze, ponieważ nie musisz pamiętać całej złożoności

12
00:01:00,690 --> 00:01:01,170
‫składni.

13
00:01:01,170 --> 00:01:07,800
‫Po prostu wpisujesz, logujesz się, a pojawi się okno dialogowe IntelliSense, takie jak to, które mówi, że logujesz się, aby

14
00:01:07,800 --> 00:01:13,350
‫pomóc Ci napisać cały fragment kodu i możesz nacisnąć, wprowadzić lub wybrać go za pomocą myszy.

15
00:01:13,710 --> 00:01:18,180
‫A potem zobaczysz, że jest napisane coś, co wygląda trochę jak funkcja.

16
00:01:18,180 --> 00:01:24,330
‫To właściwie nie jest funkcja pod maską, jest tu trochę nierzeczywistej magii, ale zasadniczo

17
00:01:24,660 --> 00:01:27,420
‫jest to trochę jak funkcja.

18
00:01:27,810 --> 00:01:33,260
‫Więc zamierzamy tutaj przekazać kilka argumentów do tej funkcji.

19
00:01:33,270 --> 00:01:40,820
‫Pierwsza z nich mówi nam, jaki rodzaj kategorii logów robimy.

20
00:01:40,830 --> 00:01:44,640
‫Drugi mówi nam o poziomie kłody.

21
00:01:44,640 --> 00:01:46,650
‫Tak więc, jak pilne jest to w istocie.

22
00:01:47,220 --> 00:01:52,860
‫I wreszcie mamy tutaj tę rzecz, która jest zasadniczo funkcją w funkcji,

23
00:01:52,860 --> 00:01:56,520
‫która mówi nam tekst, który musimy wydrukować.

24
00:01:57,150 --> 00:01:58,950
‫Więc jak to działa?

25
00:01:58,950 --> 00:02:05,650
‫Jeśli po prostu zostawimy to w naszym kodzie, przejdziemy do nierealnej kompilacji trafień, chcemy zobaczyć, gdzie to się pojawia?

26
00:02:05,670 --> 00:02:09,990
‫Cóż, kiedy kompilacja się skończy, zaczniemy grać.

27
00:02:10,590 --> 00:02:15,420
‫A to, czego tak naprawdę szukasz, to to, że nie pojawi się na ekranie.

28
00:02:15,420 --> 00:02:17,460
‫Będzie na wyjściu.

29
00:02:17,460 --> 00:02:28,130
‫Zaloguj się tutaj i możesz to zobaczyć tutaj mówiąc: wyświetl swoją wiadomość i mamy ile wiadomości?

30
00:02:28,170 --> 00:02:30,720
‫Jeden dwa trzy cztery pięć.

31
00:02:31,200 --> 00:02:39,210
‫Powodem tego jest wyświetlanie wiadomości dla każdego aktora w naszej scenie, który jest ruchomą

32
00:02:39,210 --> 00:02:39,890
‫platformą.

33
00:02:39,900 --> 00:02:43,740
‫CP To dlatego otrzymujemy tak wiele wiadomości.

34
00:02:43,740 --> 00:02:47,850
‫I widzicie, że możemy zmienić przesłanie tak, aby było takie, jakie chcieliśmy, aby było tutaj.

35
00:02:48,450 --> 00:02:57,150
‫Moglibyśmy również umieścić w tej wiadomości więcej informacji, takich jak miejsce startu lub imię aktora,

36
00:02:57,150 --> 00:02:58,800
‫takie rzeczy.

37
00:02:59,400 --> 00:03:00,780
‫Więc zaczynamy.

38
00:03:00,780 --> 00:03:04,920
‫Więc mamy dziennik wyjściowy, mamy naszą wiadomość i możesz zacząć widzieć, jakie są kategorie,

39
00:03:04,920 --> 00:03:06,030
‫o których mówiłem.

40
00:03:06,060 --> 00:03:13,650
‫Widać, że mamy log 10 p. m. , ale powyżej mamy log audio log, mikser audio, Log World.

41
00:03:13,650 --> 00:03:18,420
‫Istnieją więc różne kategorie logowania, które pomagają nam odróżnić, skąd pochodzi ta wiadomość,

42
00:03:18,420 --> 00:03:20,760
‫z której pochodzi część Unreal.

43
00:03:21,180 --> 00:03:26,730
‫Ale log temp jest głównie tym, czego będziemy używać, ponieważ jest to tylko tymczasowe miejsce do

44
00:03:26,730 --> 00:03:29,310
‫wylogowania komunikatów debugowania, a następnie wyświetlenia.

45
00:03:29,310 --> 00:03:35,160
‫Jest to domyślny poziom, poziom dziennika, ale możemy mieć komunikaty, które mogą być kilkoma różnymi rzeczami,

46
00:03:35,160 --> 00:03:39,330
‫które można wyświetlić, lub jakąkolwiek wartością z tej tabeli na dole.

47
00:03:39,330 --> 00:03:43,530
‫Więc widzisz tutaj display wyświetla komunikat do konsoli i pliku dziennika.

48
00:03:43,710 --> 00:03:48,120
‫Mamy tutaj dziennik, który wyświetla komunikat tylko w pliku dziennika i nie wyświetla się w konsoli.

49
00:03:48,120 --> 00:03:52,860
‫Więc to jest dla rzeczy, w których tak naprawdę nie chcesz, aby pojawiało się tak często, ale możesz chcieć użyć go

50
00:03:52,860 --> 00:03:53,340
‫do debugowania.

51
00:03:53,340 --> 00:03:58,530
‫Jeśli debugujesz czyjąś grę, która działała na jego komputerze, wysyłają ci plik dziennika.

52
00:03:58,860 --> 00:04:00,180
‫Wtedy masz ostrzeżenie.

53
00:04:00,210 --> 00:04:06,810
‫To jest dla sytuacji, gdy wydaje się, że coś idzie nie tak i drukuje to w konsoli dziennika, a także jest na

54
00:04:06,810 --> 00:04:07,380
‫żółto.

55
00:04:07,560 --> 00:04:14,040
‫Potem pojawił się błąd, który wyświetla go na czerwono, a następnie fatalny, po prostu drukuje na konsoli i powoduje

56
00:04:14,730 --> 00:04:15,450
‫awarię silnika.

57
00:04:15,450 --> 00:04:21,690
‫Więc chcesz użyć tego jako ostateczności, ale pozwala to mieć różne poziomy w pliku

58
00:04:21,690 --> 00:04:22,440
‫dziennika.

59
00:04:22,440 --> 00:04:27,270
‫Pokażę ci tylko, jak to wygląda, jeśli umieścimy tutaj różne wiadomości.

60
00:04:27,270 --> 00:04:32,760
‫Więc zamierzam skopiować linię do logowania i zrobię trzy z nich.

61
00:04:32,760 --> 00:04:37,920
‫Będziemy mieli wyświetlacz, będziemy mieli ostrzeżenie i będziemy mieli błąd.

62
00:04:37,980 --> 00:04:40,860
‫Są to zazwyczaj poziomy, z których będziemy korzystać.

63
00:04:40,860 --> 00:04:43,950
‫Więc chodźmy dalej, spójrzmy i zobaczmy, jak wyglądają.

64
00:04:43,950 --> 00:04:49,110
‫Przejdźmy do Unreal, naciśnij przycisk kompilacji, zatrzymaj i ponownie uruchom grę.

65
00:04:49,110 --> 00:04:54,990
‫A tak przy okazji, możesz wywołać dziennik wyjściowy, naciskając dwukrotnie klawisz tyldy.

66
00:04:55,320 --> 00:05:02,040
‫Pojawia się tam. Mamy dziennik wyjściowy i widać, że mamy trzy zestawy wiadomości.

67
00:05:02,040 --> 00:05:06,780
‫Wyświetlacz, który jest tylko w zwykłym białym ostrzeżeniu, które jest w kolorze żółtym, wyróżnia się nieco

68
00:05:06,780 --> 00:05:09,540
‫bardziej, oczywiście strzałka, która wyróżnia się o wiele bardziej.

69
00:05:09,720 --> 00:05:12,330
‫Teraz możemy dodać dane do naszych komunikatów dziennika.

70
00:05:12,330 --> 00:05:18,540
‫Po prostu usunę ostrzeżenie, linie błędów dziennika i możemy dodać kilka.

71
00:05:18,640 --> 00:05:21,820
‫Dane do tego łańcucha zostaną wydrukowane tak jak my.

72
00:05:21,820 --> 00:05:28,480
‫Na przykład, gdybym chciał wydrukować odległość ruchu skonfigurowaną dla konkretnej platformy, co jest dość

73
00:05:28,750 --> 00:05:35,200
‫proste do zrobienia, możemy powiedzieć skonfigurowaną odległość ruchu i to jest tekst, który się

74
00:05:35,200 --> 00:05:35,920
‫pojawi.

75
00:05:36,220 --> 00:05:37,810
‫Wstawię tutaj okrężnicę.

76
00:05:37,810 --> 00:05:44,260
‫I pamiętaj, to wszystko jest zawarte w podwójnych cudzysłowach, aby upewnić się, że uwzględniliśmy w tekście.

77
00:05:45,100 --> 00:05:51,220
‫A potem możemy użyć znaku procentu, po którym następuje znak F.

78
00:05:51,700 --> 00:05:57,150
‫I widzisz, że jest to wyróżniane w inny sposób, ponieważ jest to tak zwane określenie formatu.

79
00:05:57,310 --> 00:06:01,660
‫To coś, co pochodzi z języka C przez całą historię.

80
00:06:02,050 --> 00:06:07,510
‫I zasadniczo zwykle robisz znak procentowy, a następnie jakąś literę, którą możesz zobaczyć tutaj na

81
00:06:07,510 --> 00:06:08,140
‫dole.

82
00:06:08,440 --> 00:06:15,490
‫F odpowiada dziesiętnej liczbie zmiennoprzecinkowej i możesz zobaczyć przykład tego, jak wygląda wynik w

83
00:06:15,640 --> 00:06:17,200
‫kolumnie przykład.

84
00:06:17,530 --> 00:06:26,290
‫I jest tu wiele innych rzeczy, które możemy przedstawić za pomocą D lub I jako dziesiętną liczbę całkowitą.

85
00:06:26,950 --> 00:06:30,520
‫Więc używamy F, ponieważ mamy liczbę zmiennoprzecinkową.

86
00:06:30,940 --> 00:06:35,170
‫Następnie musimy dodać kolejny argument do funkcji dziennika zapytań.

87
00:06:35,170 --> 00:06:43,480
‫Więc upewnij się, że robisz to po zamknięciu nawiasów dla tej funkcji tekstowej i zamiast tego

88
00:06:43,480 --> 00:06:45,490
‫wstawiamy tutaj przecinek.

89
00:06:45,490 --> 00:06:51,700
‫Więc między tymi dwoma nawiasami powinien znajdować się wewnątrz zewnętrznego zestawu, ale poza wewnętrznym zestawem, jeśli ma

90
00:06:51,700 --> 00:06:52,450
‫to sens.

91
00:06:52,990 --> 00:07:00,850
‫A potem możemy przekazać wartość naszej zmiennej, abyśmy mogli zrobić zmienną odległości ruchu, tak więc przejdźmy

92
00:07:00,850 --> 00:07:04,300
‫do tego naprawdę, zobaczmy to w akcji.

93
00:07:04,330 --> 00:07:11,110
‫Naciskam przycisk kompilacji, zamykam okno kompilacji i naciskam odtwarzanie, a następnie dwukrotnie naciskam Tilde, aby wyświetlić

94
00:07:11,110 --> 00:07:11,680
‫dziennik.

95
00:07:11,950 --> 00:07:17,470
‫I możecie zobaczyć, jak nasza skonfigurowana odległość ruchu pokazuje się dla różnych platform,

96
00:07:17,770 --> 00:07:24,010
‫505 setek dla dwóch ruchomych platform i 1500 dla trzech pchnięć, które mamy na scenie.

97
00:07:24,160 --> 00:07:29,560
‫Jedną z informacji, która może być trochę interesująca lub pouczająca, jest to,

98
00:07:29,560 --> 00:07:36,610
‫że wcześniej rozmawialiśmy o tym, jak przestrzeliliśmy lub przekroczyliśmy przesuniętą odległość i byłoby interesujące wiedzieć, na

99
00:07:36,610 --> 00:07:39,250
‫jakich poziomach to się dzieje.

100
00:07:39,640 --> 00:07:43,450
‫Możemy więc stworzyć zmienną zmiennoprzecinkową wewnątrz instrukcji if.

101
00:07:43,460 --> 00:07:45,490
‫Więc wiemy, że obecnie przestrzeliliśmy.

102
00:07:45,490 --> 00:07:49,870
‫Możemy powiedzieć, że przestrzelenie zmiennej zmiennoprzecinkowej zwanej przeregulowaniem.

103
00:07:49,870 --> 00:07:56,350
‫Ustawimy równą przesuniętej odległości minus odległość przemieszczenia.

104
00:07:56,410 --> 00:07:59,530
‫To mówi nam, jak duże było przekroczenie.

105
00:07:59,770 --> 00:08:04,270
‫Więc chciałbym, abyś spróbował zarejestrować zmienną przeregulowania, którą właśnie tutaj stworzyliśmy.

106
00:08:04,270 --> 00:08:06,400
‫Użyj więc funkcji dziennika YUI.

107
00:08:06,700 --> 00:08:11,260
‫Tutaj jest to przynajmniej rodzaj struktury, której prawdopodobnie będziesz używał.

108
00:08:11,500 --> 00:08:19,270
‫Możesz także poćwiczyć używanie tego, że logujesz autouzupełnianie, aby zamiast tego umieścić go, a następnie skompilować i przetestować swój kod

109
00:08:19,270 --> 00:08:21,040
‫i sprawdzić, czy działa.

110
00:08:21,190 --> 00:08:22,450
‫Wstrzymaj wideo i spróbuj.

111
00:08:25,600 --> 00:08:26,140
‫Dobra.

112
00:08:26,140 --> 00:08:26,770
‫Witamy spowrotem.

113
00:08:27,010 --> 00:08:30,550
‫Więc użyjemy tutaj opcji autouzupełniania.

114
00:08:30,820 --> 00:08:33,040
‫Po prostu zamknę mój pasek boczny, aby mieć trochę więcej miejsca.

115
00:08:33,520 --> 00:08:40,210
‫A potem wewnątrz tego, jeśli po utworzeniu zmiennej, wpiszemy log i wciśniemy Enter, a następnie

116
00:08:41,020 --> 00:08:43,210
‫zostawimy to na wyświetlaczu.

117
00:08:43,330 --> 00:08:51,520
‫Przekształcimy platformę tekstową, przestrzelimy, a następnie użyjemy procentu F, a następnie między

118
00:08:52,060 --> 00:08:58,300
‫tymi dwoma nawiasami dodamy nowe argumenty dla zmiennej przekreślenia.

119
00:08:58,420 --> 00:09:01,930
‫Tak jak teraz, wróćmy do Unreal.

120
00:09:02,020 --> 00:09:08,500
‫Naciśnij przycisk kompilacji, zamknij odtwarzanie dziennika kodowania na żywo i dwukrotnie naciśnij ten klawisz tyldy.

121
00:09:09,370 --> 00:09:15,280
‫I widać, że za każdym razem, gdy platforma się obraca, drukuje komunikat dziennika i mówi, ile

122
00:09:15,280 --> 00:09:18,700
‫jednostek przestrzelonych przez ciebie może faktycznie zobaczyć sieć.

123
00:09:18,700 --> 00:09:24,550
‫W wielu przypadkach jest przestrzelony o kilka, całkiem zauważalną ilość jednostek.

124
00:09:24,580 --> 00:09:27,150
‫Trzy jednostki lub pięć jednostek.

125
00:09:27,160 --> 00:09:30,130
‫To w zasadzie punkt 5% mi do trzech centymetrów.

126
00:09:30,460 --> 00:09:35,050
‫Wystarczy, że w trakcie gry te platformy mogły dryfować.

127
00:09:35,290 --> 00:09:39,160
‫I to świetnie, że już wdrożyliśmy poprawkę na to.

128
00:09:39,220 --> 00:09:39,700
‫Świetna sprawa.

129
00:09:39,700 --> 00:09:45,220
‫Miejmy więc nadzieję, że teraz masz w swoim arsenale kolejne narzędzie, które pomoże Ci dowiedzieć się, co dzieje się w

130
00:09:45,220 --> 00:09:45,850
‫Twoim kodzie.

131
00:09:45,850 --> 00:09:51,160
‫A później, kiedy poczujesz się pewniej w tworzeniu własnego kodu, próbując dowiedzieć się, co

132
00:09:51,190 --> 00:09:52,810
‫nie działa tak dobrze.

133
00:09:53,410 --> 00:09:55,780
‫Dobra, do zobaczenia na następnym wykładzie.

