﻿1
00:00:04,350 --> 00:00:05,490
‫Cześć i witaj.

2
00:00:05,490 --> 00:00:11,070
‫W tym wykładzie przyjrzymy się, jak możemy dodać dynamiczny tekst do naszych komunikatów dziennika za

3
00:00:11,340 --> 00:00:13,320
‫pomocą łańcuchów w C++.

4
00:00:13,320 --> 00:00:16,830
‫Zanurzmy się więc i dowiedzmy się o łańcuchach w C++.

5
00:00:17,460 --> 00:00:23,010
‫Widzieliśmy więc, jak wydrukować kilka prostych rzeczy z naszego dziennika interfejsu użytkownika,

6
00:00:23,010 --> 00:00:29,430
‫ale co, jeśli chcesz wydrukować więcej tekstu, na przykład imię aktora, a nawet coś

7
00:00:29,520 --> 00:00:33,120
‫bardziej skomplikowanego, na przykład tekstową reprezentację wektor?

8
00:00:33,690 --> 00:00:40,320
‫Cóż, zazwyczaj nie ma specyfikatorów formatu, ponieważ specyfikatory formatu pojawiły się w erze C,

9
00:00:40,320 --> 00:00:45,630
‫który jest bardzo podstawowym językiem programowania w porównaniu z C++.

10
00:00:45,990 --> 00:00:49,980
‫A więc pewnych rzeczy po prostu nie wymyślono w tamtym czasie.

11
00:00:49,980 --> 00:00:54,600
‫Tak więc rzeczy takie jak wektory nie byłyby uwzględniane w sposób, w jaki je formatujemy i określamy.

12
00:00:54,600 --> 00:00:57,210
‫Więc zwykle używamy do tego ciągów.

13
00:00:57,210 --> 00:01:01,890
‫Jak już powiedzieliśmy w przeszłości, łańcuchy to tylko zmienne tekstowe.

14
00:01:01,890 --> 00:01:06,840
‫Są to zmienne zawierające tekst, dzięki czemu możemy deklarować ciągi.

15
00:01:06,840 --> 00:01:11,220
‫W C++ użyliśmy wektorów F, gdzie wcześniej używaliśmy wektorów.

16
00:01:11,220 --> 00:01:17,130
‫Tutaj użyjemy ciągu jako typu dla ciągu, więc możemy mieć ciąg.

17
00:01:17,130 --> 00:01:21,090
‫I na razie wstawię mój ciąg jako nazwę zmiennej.

18
00:01:21,240 --> 00:01:24,090
‫A jak ustawić wartość ciągu?

19
00:01:24,510 --> 00:01:26,880
‫Cóż, już trochę to widzieliśmy.

20
00:01:26,880 --> 00:01:31,500
‫Te podwójne cudzysłowy oznaczają wartość ciągu w C++.

21
00:01:31,500 --> 00:01:36,180
‫Tak więc wszystkie te wyrażenia trafiają do tego tutaj, w którym mamy podwójne

22
00:01:36,180 --> 00:01:41,310
‫cudzysłowy również w nagłówku pliku, gdzie mamy podwójne cudzysłowy dla kategorii, która jest wyrażeniem łańcuchowym.

23
00:01:41,880 --> 00:01:49,740
‫Więc co możemy zrobić, to ustawić moją zmienną ciągu z tego i zamierzam powiedzieć moją wartość ciągu tylko po to,

24
00:01:49,740 --> 00:01:57,330
‫aby dać nam wyobrażenie o tym wejściowym średniku na końcu wiersza, a następnie jak możemy to pokazać w instrukcji

25
00:01:57,330 --> 00:01:58,590
‫log ?

26
00:01:58,590 --> 00:02:06,240
‫Więc po prostu usunę odległość przesunięcia stąd jako argument do dziennika i zmienię

27
00:02:06,660 --> 00:02:17,670
‫tekst w komunikacie dziennika, aby powiedzieć, oto mój dwukropek ciągu, a następnie zamiast określenia F, tym razem użyj procent

28
00:02:17,670 --> 00:02:22,380
‫s do oznaczenia łańcucha, który chcemy wydrukować.

29
00:02:22,830 --> 00:02:28,620
‫A następnie argument, który ponownie przekazujemy do funkcji dziennika URI między tymi dwoma nawiasami,

30
00:02:28,620 --> 00:02:30,000
‫będzie moim ciągiem.

31
00:02:31,080 --> 00:02:34,860
‫Teraz niestety byłoby świetnie, gdyby to po prostu działało samo.

32
00:02:34,860 --> 00:02:41,970
‫Niestety, w Unreal jest trochę komplikacji, że nie przyjmą prostego ciągu jako

33
00:02:41,970 --> 00:02:44,430
‫argumentu do dziennika URI.

34
00:02:44,430 --> 00:02:47,310
‫Potrzebuje tu trochę operatora konwersji.

35
00:02:47,700 --> 00:02:53,430
‫Robimy to w ten sposób, że umieszczamy gwiazdkę przed moim ciągiem, a on po prostu konwertuje

36
00:02:53,430 --> 00:02:59,100
‫go z ciągu F na format, którego szuka wewnętrznie w dzienniku Yule, nie musimy wchodzić

37
00:02:59,100 --> 00:03:01,920
‫w zbyt wiele szczegółów dlaczego to robi.

38
00:03:02,580 --> 00:03:06,360
‫To jest poza poziomem, który musimy znać w tym momencie.

39
00:03:06,360 --> 00:03:13,050
‫Myślę, że po prostu ważne jest, aby się tego nauczyć, ponieważ kiedy robimy procent se, zawsze potrzebujemy

40
00:03:13,320 --> 00:03:15,540
‫gwiazdy przed naszymi strunami f.

41
00:03:15,780 --> 00:03:19,710
‫Zobaczmy więc, czy to zadziałało, przechodząc do Unreal i naciskając przycisk kompilacji.

42
00:03:19,830 --> 00:03:25,740
‫A potem zamkniemy kodowanie na żywo, wciśniemy play, otworzymy dziennik wyjściowy i proszę bardzo, oto

43
00:03:25,740 --> 00:03:27,990
‫mój ciąg, moja wartość ciągu.

44
00:03:27,990 --> 00:03:31,830
‫Czyli wyświetla wartość w moim łańcuchu.

45
00:03:31,830 --> 00:03:37,200
‫Ale oczywiście ten fragment kodu, który właśnie napisałem, nie jest szczególnie przydatny, ponieważ cóż, mogłem po

46
00:03:37,200 --> 00:03:38,790
‫prostu wpisać tutaj ciąg.

47
00:03:38,790 --> 00:03:41,190
‫Po co zawracać sobie głowę tym całym biznesem zastępczym?

48
00:03:41,700 --> 00:03:48,540
‫Cóż, bardziej interesujące jest to, że zamiast tego wstawiamy dynamiczną wartość do tej zmiennej, abyśmy mogli

49
00:03:48,540 --> 00:03:51,570
‫to zrobić, uzyskać nazwę i wywołać to.

50
00:03:51,570 --> 00:03:57,600
‫Jest to funkcja dostępna tutaj w aktorze ruchomej platformy, która otrzymuje imię aktora, który widzimy

51
00:03:57,600 --> 00:03:59,130
‫na obrysie poziomu.

52
00:03:59,130 --> 00:04:05,700
‫Jeśli możemy umieścić ją w zmiennej, wywołam tę nazwę zmiennej zamiast ciągu i zmienię jej nazwę

53
00:04:05,700 --> 00:04:08,190
‫również tutaj w dzienniku interfejsu użytkownika.

54
00:04:08,640 --> 00:04:17,880
‫Więc możemy zmienić tekst komunikatu dziennika, aby powiedzieć Rozpocznij odtwarzanie dwukropka, a wtedy będzie to

55
00:04:17,880 --> 00:04:19,380
‫imię aktora.

56
00:04:19,380 --> 00:04:26,520
‫Wróćmy więc do nierzeczywistego zatrzymania gry, naciśnij, skompiluj, przejdź dalej, naciśnij play i otwórz dziennik wyjściowy.

57
00:04:26,520 --> 00:04:31,830
‫Widzicie, że otrzymujemy komunikaty zaczynają się grać w ruchu platforma pierwsza zaczyna grać w ruchu.

58
00:04:31,830 --> 00:04:33,120
‫Platforma trzy pchająca.

59
00:04:33,120 --> 00:04:35,340
‫Kuba trzy pchanie, pięć pchnięć, utrzymanie siedmiu.

60
00:04:35,580 --> 00:04:39,090
‫Więc mamy początek gry i wszystkie imiona różnych aktorów.

61
00:04:39,090 --> 00:04:46,200
‫Teraz może to być bardzo przydatne, ponieważ później na linii, na której drukujemy

62
00:04:46,200 --> 00:04:54,540
‫odległość przestrzelenia, nie zawsze jest jasne, kto w tym przypadku przestrzelił, ponieważ wszyscy razem się pomieszali.

63
00:04:54,540 --> 00:05:00,930
‫Tak więc możliwość wydrukowania nazwy aktora, który tworzy komunikat dziennika, może być bardzo pomocna

64
00:05:00,930 --> 00:05:03,750
‫w ustaleniu, gdzie jest problem.

65
00:05:03,840 --> 00:05:04,350
‫Wydarzenie.

66
00:05:04,380 --> 00:05:11,070
‫Chciałbym więc rzucić wyzwanie, abyś zarejestrował nazwę za pomocą tego dziennika przekroczenia, abyśmy mogli zobaczyć, kto

67
00:05:11,070 --> 00:05:12,900
‫przestrzelił i o ile.

68
00:05:13,470 --> 00:05:19,820
‫Dodasz więc zmienną dla imienia aktora, tak jak zrobiliśmy to w Rozpocznij zabawę.

69
00:05:20,490 --> 00:05:27,810
‫Dostaniesz do niego nazwę i dodasz procent określony w dowolnym miejscu w swoim opisie

70
00:05:27,810 --> 00:05:35,010
‫dziennika, w którym drukujemy to przekroczenie, a ty dodasz argument dla tej

71
00:05:35,010 --> 00:05:35,670
‫nazwy.

72
00:05:35,670 --> 00:05:42,660
‫Nadal chcemy, aby zmienna przeregulowania znajdowała się na liście argumentów, ale w końcu przed tą zmienną

73
00:05:42,660 --> 00:05:46,140
‫będziesz musiał również umieścić argument dla nazwy.

74
00:05:46,710 --> 00:05:52,140
‫I tutaj ważne jest, aby kolejność argumentów była zgodna z kolejnością specyfikatorów w Twojej

75
00:05:52,140 --> 00:05:52,590
‫wiadomości.

76
00:05:52,590 --> 00:05:57,150
‫Więc jeśli wstawisz procent jak przed procentem F, to taka kolejność.

77
00:05:57,150 --> 00:06:02,400
‫Nazwa powinna iść przed przekroczeniem lub powinieneś zrobić to na odwrót, jeśli zrobiłeś to drugie.

78
00:06:03,000 --> 00:06:09,060
‫I nie zapomnij dodać początku przed nazwą zmiennej, aby przekonwertować ciąg na coś, z czego

79
00:06:09,060 --> 00:06:11,250
‫może korzystać dziennik, który rejestrujesz.

80
00:06:11,550 --> 00:06:12,900
‫Wstrzymaj wideo i spróbuj.

81
00:06:16,010 --> 00:06:16,460
‫Dobra.

82
00:06:16,460 --> 00:06:17,150
‫Witamy spowrotem.

83
00:06:17,630 --> 00:06:25,550
‫Zaczniemy więc od pobrania zmiennej i nie jest to absolutnie konieczne, ale użyjemy tej

84
00:06:25,550 --> 00:06:30,200
‫zmiennej dla uproszczenia i utrzymamy nieco krótszą linię.

85
00:06:30,200 --> 00:06:36,500
‫Tak więc otrzymamy ciąg znaków o nazwie name używający wielkich liter, zwykle rozpoczynających nazwy naszych

86
00:06:36,500 --> 00:06:36,920
‫zmiennych.

87
00:06:36,920 --> 00:06:44,570
‫Wprowadzimy nazwę do tej zmiennej, a następnie użyjemy jej jako argumentu.

88
00:06:44,570 --> 00:06:48,020
‫Ale gdzie mam umieścić mój format, określić w komunikacie dziennika?

89
00:06:48,020 --> 00:06:53,810
‫Cóż, zamierzam umieścić to jako pierwszą rzecz w moim opisie dziennika, aby wyjaśnić, że jest to wiadomość

90
00:06:53,810 --> 00:06:55,610
‫dziennika pochodząca z tej rzeczy.

91
00:06:55,970 --> 00:07:02,120
‫Więc postawię procent na pierwszym miejscu, a to oznacza, że moja argumentacja musi iść przed argumentem

92
00:07:02,120 --> 00:07:02,690
‫przestrzelenia.

93
00:07:02,690 --> 00:07:09,110
‫Więc mamy zamiar umieścić tutaj nazwę i musimy umieścić gwiazdkę przed nazwą,

94
00:07:09,110 --> 00:07:11,360
‫aby odpowiednio ją przekonwertować.

95
00:07:11,360 --> 00:07:13,190
‫Wróćmy teraz do edytora.

96
00:07:13,310 --> 00:07:19,280
‫Zatrzymaj odtwarzanie hit rekompilacja, zamknij terminal, naciśnij play i otwórz dziennik wyjściowy.

97
00:07:20,150 --> 00:07:26,000
‫I widać, że zaczynamy otrzymywać nasze komunikaty o tikach, które pchają Kub przestrzelił

98
00:07:26,000 --> 00:07:27,860
‫przez jedno pchnięcie q11.

99
00:07:28,040 --> 00:07:34,130
‫Widać tutaj, że można wyciągnąć wniosek, którego wcześniej nie mogliśmy wyciągnąć, a mianowicie, że szybciej

100
00:07:34,130 --> 00:07:39,890
‫poruszające się platformy, przesuwające się kostki to te, które przewyższają o więcej, podczas gdy

101
00:07:40,190 --> 00:07:44,360
‫ruchome platformy wydają się przestrzeliwać o mniej, co Oczekiwałbym.

102
00:07:44,360 --> 00:07:47,630
‫Ale dobrze jest widzieć to potwierdzone w logach.

103
00:07:47,900 --> 00:07:48,380
‫Świetna sprawa.

104
00:07:48,380 --> 00:07:51,620
‫To tyle w przypadku naszej małej dywersji związanej z wyrębem.

105
00:07:51,650 --> 00:07:56,090
‫Mam nadzieję, że uznałeś to za interesujące i do zobaczenia w następnym wykładzie.

