﻿1
00:00:04,530 --> 00:00:05,550
‫Cześć i witaj.

2
00:00:05,550 --> 00:00:12,300
‫W tym wykładzie dodamy zmienne do aktora naszej ruchomej platformy, tak abyśmy mogli je zobaczyć w

3
00:00:12,300 --> 00:00:16,500
‫edytorze, i zamierzam to robić w całości w C++.

4
00:00:16,500 --> 00:00:17,490
‫Zanurzmy się.

5
00:00:18,420 --> 00:00:23,610
‫Tak więc pierwszą koncepcją, której będziemy się uczyć w C++, jest tworzenie dwóch zmiennych.

6
00:00:23,610 --> 00:00:25,860
‫Widzieliśmy je wcześniej w Blueprint.

7
00:00:25,860 --> 00:00:29,850
‫Wiemy, że są jak pudełka, w które możemy włożyć wartości i że mają typy.

8
00:00:30,330 --> 00:00:34,860
‫Cóż, to wszystko nadal obowiązuje w C++, z wyjątkiem tego, jak je tworzymy.

9
00:00:34,860 --> 00:00:39,360
‫Tak więc poprzednio, kiedy robiliśmy to w Blueprint, jeśli otworzę plany wyższego poziomu tylko

10
00:00:39,360 --> 00:00:45,120
‫po to, aby pokazać ci i odświeżyć twoją pamięć, wtedy mieliśmy ten panel z moim projektem i tam dodaliśmy

11
00:00:45,120 --> 00:00:48,060
‫takie rzeczy, jak funkcje i zmienne i tak dalej.

12
00:00:48,420 --> 00:00:51,300
‫A potem mieliśmy wykres zdarzeń, w którym faktycznie programujemy rzeczy.

13
00:00:51,600 --> 00:00:53,940
‫Teraz C++ jest bardzo podobny.

14
00:00:53,940 --> 00:01:00,240
‫Mamy dwie różne lokalizacje do konfiguracji naszych zmiennych i funkcji, a następnie, kiedy

15
00:01:00,240 --> 00:01:02,160
‫faktycznie wykonujemy implementację.

16
00:01:02,160 --> 00:01:07,410
‫Przejdźmy więc do kodu programu Visual Studio, otwórz projekt Visual Studio Code i spójrzmy.

17
00:01:07,410 --> 00:01:10,620
‫W lewym pasku znajduje się kran Explorer.

18
00:01:10,620 --> 00:01:16,680
‫Idź i otwórz to, a zobaczysz w zasadzie hierarchiczną mapę swoich plików.

19
00:01:16,680 --> 00:01:21,780
‫Mamy więc na najwyższym poziomie EUI 5 szturm z przeszkodami lub nasz własny projekt tutaj.

20
00:01:22,200 --> 00:01:24,270
‫Możesz to otworzyć i możesz zobaczyć niektóre foldery tutaj.

21
00:01:24,270 --> 00:01:28,170
‫Tym, który nas interesuje, jest folder źródłowy, w którym możemy znaleźć wszystkie nasze C++.

22
00:01:28,500 --> 00:01:34,740
‫Tam jest folder o atakach na przeszkody, a dalej są dwa pliki z nazwą ruchomej

23
00:01:34,740 --> 00:01:35,280
‫platformy.

24
00:01:35,280 --> 00:01:38,370
‫Jeden to plik z kropkami, a drugi to CP z kropkami.

25
00:01:38,700 --> 00:01:44,010
‫Kropka h oznacza nagłówek, a CP oznacza C++.

26
00:01:44,400 --> 00:01:52,140
‫Więc to jest trochę jak posiadanie mojego projektu, w którym możesz dodać funkcje, zmienne i inne rzeczy, które

27
00:01:52,140 --> 00:01:56,010
‫znajdują się w pliku nagłówkowym, tym pliku z kropkami.

28
00:01:56,370 --> 00:02:01,230
‫A potem mamy kropkę CP, gdzie możemy w zasadzie polubić wykres zdarzeń, możemy

29
00:02:01,230 --> 00:02:02,790
‫właściwie wykonać samo kodowanie.

30
00:02:03,420 --> 00:02:10,380
‫Więc otworzymy punkt H ruchomej platformy, ponieważ chcemy dodać nową zmienną, a zauważysz, że jest

31
00:02:10,380 --> 00:02:12,270
‫tu cała masa rzeczy.

32
00:02:12,270 --> 00:02:18,150
‫Nie będziemy wchodzić w szczegóły, ale najbardziej interesujące jest to, że definiuje to, co

33
00:02:18,150 --> 00:02:20,880
‫to znaczy być klasą ruchomej platformy.

34
00:02:20,880 --> 00:02:23,340
‫Tutaj możesz zobaczyć kilka interesujących słów kluczowych.

35
00:02:23,340 --> 00:02:25,080
‫W wierszu dziesiątym jest słowo kluczowe klasy.

36
00:02:25,410 --> 00:02:32,100
‫Są ruchome platformy, które są poprzedzone literą A, co oznacza, że jest to aktor, a na

37
00:02:32,100 --> 00:02:36,060
‫liniach 11 i 26 jest kilka nawiasów klamrowych.

38
00:02:36,360 --> 00:02:42,510
‫A pomiędzy tymi dopasowanymi nawiasami klamrowymi widać deklarację kilku rzeczy.

39
00:02:42,510 --> 00:02:45,960
‫Znajdują się tutaj funkcje i tutaj możemy również umieścić nasze zmienne.

40
00:02:46,530 --> 00:02:49,650
‫Dodamy więc nasze zmienne na końcu tej deklaracji.

41
00:02:49,650 --> 00:02:57,000
‫Więc tuż przed zamknięciem tego nawiasu klamrowego, możemy dodać kilka nowych linii i zacząć pisać tutaj nowe

42
00:02:57,000 --> 00:02:57,600
‫zmienne.

43
00:02:58,200 --> 00:03:02,910
‫I tak jak w zmiennej w blueprint, mamy typ i mamy nazwę zmiennej i możemy również

44
00:03:02,910 --> 00:03:04,260
‫nadać jej wartość domyślną.

45
00:03:04,740 --> 00:03:13,500
‫Więc pierwszą rzeczą jest to, że chcemy utworzyć liczbę całkowitą, aw C++, w Unreal C++, liczba całkowita jest oznaczona

46
00:03:13,500 --> 00:03:20,250
‫słowem kluczowym INT 32, które zasadniczo mówi nam, jak dużą wartość możemy tutaj przechowywać.

47
00:03:20,580 --> 00:03:22,410
‫I nie, to nie 32.

48
00:03:22,410 --> 00:03:23,760
‫Jest dużo, dużo większy.

49
00:03:23,760 --> 00:03:28,380
‫32 to liczba bitów przydzielonych do liczby całkowitej.

50
00:03:28,740 --> 00:03:33,690
‫Teraz musimy przejść do nazwy zmiennej i podobnie jak klasy, nie możemy mieć spacji w naszych nazwach

51
00:03:33,690 --> 00:03:34,020
‫zmiennych.

52
00:03:34,290 --> 00:03:38,610
‫Więc zamiast tego używamy wielkich liter do oznaczenia naszych słów.

53
00:03:38,610 --> 00:03:41,490
‫Więc zamierzam to nazwać moją int notice.

54
00:03:41,490 --> 00:03:44,220
‫Używam wielkich liter na początku tych słów.

55
00:03:44,640 --> 00:03:50,670
‫Następnie mogę nadać mu wartość domyślną i robimy to ze znakiem równości, więc mamy równe, a następnie możemy

56
00:03:50,670 --> 00:03:53,760
‫nadać mu wartość taką jak na przykład 99.

57
00:03:54,240 --> 00:03:59,850
‫Teraz zauważ, że wstawiam spacje po moim i przed moim znakiem równości.

58
00:03:59,850 --> 00:04:04,110
‫W rzeczywistości nie jest to absolutnie konieczne, ale ułatwia i ułatwia czytanie.

59
00:04:04,110 --> 00:04:10,980
‫Więc dołączam to, chociaż oczywiście potrzebujesz spacji między M32 a rzeczywistą nazwą liczby całkowitej.

60
00:04:11,010 --> 00:04:12,450
‫Bez tego rzeczy nie działają.

61
00:04:13,050 --> 00:04:18,180
‫Aby zakończyć tę deklarację, musisz umieścić średnik na końcu linii, aby

62
00:04:18,180 --> 00:04:20,340
‫powiedzieć C++, że skończyłeś.

63
00:04:20,460 --> 00:04:25,980
‫Fakt, że są nowe wiersze, spacje i tabulatory, to wszystko nie ma znaczenia dla

64
00:04:25,980 --> 00:04:26,760
‫C++.

65
00:04:26,760 --> 00:04:30,330
‫Mógłbyś uruchomić wszystkie te rzeczy razem i nadal byłoby tak samo.

66
00:04:30,330 --> 00:04:34,200
‫Mógłbym usunąć tutaj miejsca, które nadal będą działać dobrze.

67
00:04:34,200 --> 00:04:37,380
‫Jeśli chodzi o C++, to wszystko jest całkowicie poprawne.

68
00:04:37,380 --> 00:04:40,290
‫C++ jest po prostu okropny, okropny w czytaniu.

69
00:04:40,890 --> 00:04:46,290
‫Więc to, co robimy, to utrzymujemy ten poziom wcięcia za pomocą kranu i zachowujemy ten poziom odstępów tylko

70
00:04:46,290 --> 00:04:47,790
‫dla naszego zdrowia psychicznego.

71
00:04:48,510 --> 00:04:52,350
‫Teraz nie jest to obecnie widoczne w edytorze schematów.

72
00:04:52,350 --> 00:04:57,480
‫Aby było to widoczne, musimy dać trochę wskazówek Unrealowi, że istnieje zmienna, która powinna

73
00:04:57,480 --> 00:04:58,980
‫wyświetlać tak, jak my.

74
00:04:58,980 --> 00:05:03,780
‫To jest w poprzednim wierszu, w którym wpisujemy właściwość all caps.

75
00:05:04,360 --> 00:05:11,110
‫Następnie otwórz nawiasy, a następnie użyj naszej tak zwanej wielkości wielbłąda, w której zasadniczo rozpoczynamy wielką

76
00:05:11,110 --> 00:05:17,410
‫literę każdego słowa, które wpisujemy, edytujemy w dowolnym miejscu, a następnie zamykamy nawiasy.

77
00:05:17,420 --> 00:05:19,360
‫Nie ma potrzeby umieszczania średnika na końcu tej linii.

78
00:05:19,360 --> 00:05:25,090
‫To nie jest poprawne, ponieważ w rzeczywistości jest częścią tej samej deklaracji, co wstawka.

79
00:05:25,090 --> 00:05:32,200
‫Jesteś w linii poniżej, ale umieściliśmy je w osobnych liniach, aby ułatwić ci czytanie tego.

80
00:05:32,650 --> 00:05:39,040
‫Więc mamy edycję właściwości w dowolnym miejscu za 30 do mojego końca, a następnie znak równości, a potem 99.

81
00:05:39,040 --> 00:05:42,730
‫I ważne jest, aby domyślnie zapisywać tutaj swoje pliki.

82
00:05:42,730 --> 00:05:44,830
‫Aby to zrobić, musisz nacisnąć kontrolkę.

83
00:05:45,100 --> 00:05:50,680
‫Jeśli przejdziesz przez menu plików, możesz wybrać opcję automatycznego zapisywania tutaj, aby nie trzeba było naciskać zapisywania za

84
00:05:50,680 --> 00:05:52,390
‫każdym razem, gdy coś zmieniasz.

85
00:05:52,870 --> 00:05:53,770
‫Teraz to właśnie robię.

86
00:05:53,830 --> 00:06:00,100
‫Po wykonaniu tych czynności moglibyśmy zamknąć edytor, ponownie go skompilować i ponownie go otworzyć, a

87
00:06:00,100 --> 00:06:03,040
‫na naszej ruchomej platformie mielibyśmy nową zmienną.

88
00:06:03,040 --> 00:06:08,500
‫Aktor Ale to trochę kłopotliwe, gdybyśmy musieli zamykać edytor za każdym razem, gdy dokonywaliśmy zmian w kodzie.

89
00:06:08,500 --> 00:06:11,860
‫W Unreal jest więc funkcja zwana kodowaniem na żywo.

90
00:06:12,200 --> 00:06:18,130
‫Po prostu zamknę plany poziomów i pokażę, że w prawym dolnym rogu znajduje się przycisk,

91
00:06:18,130 --> 00:06:21,940
‫który wygląda jak zestaw sześcianów rozpływających się w oddali.

92
00:06:21,940 --> 00:06:26,230
‫Jeśli najedziesz na to kursorem, wyświetli się komunikat, że ponownie kompiluje i ponownie ładuje kod C++ dla gier w locie.

93
00:06:26,680 --> 00:06:35,290
‫Kliknij ten przycisk, a pojawi się terminal z dziennikiem komunikatów, które są wynikiem kompilacji

94
00:06:35,290 --> 00:06:36,130
‫kodu.

95
00:06:36,670 --> 00:06:41,110
‫Teraz będzie działać znacznie szybciej niż poprzednio, ponieważ nie jest to pierwszy raz, a

96
00:06:41,590 --> 00:06:45,970
‫kiedy się zakończy, wyświetli powiadomienie z informacją, że kodowanie na żywo powiodło się.

97
00:06:46,540 --> 00:06:53,620
‫Teraz ważne jest, aby jeśli kodowanie na żywo nie powiodło się, skopiować wyniki z dziennika, które pojawiły się przed błędem i

98
00:06:53,620 --> 00:06:59,470
‫opublikować je w Q&A, jeśli potrzebujesz pomocy, ale także po prostu sprawdź dwukrotnie i upewnij się, że

99
00:06:59,470 --> 00:07:03,070
‫twoja składnia pasuje do tego, co wpisałem na ekranie.

100
00:07:03,550 --> 00:07:09,850
‫Często okazuje się, że jest to po prostu literówka, którą zrobili ludzie i z tego powodu nie kompiluje

101
00:07:09,850 --> 00:07:10,360
‫się.

102
00:07:10,390 --> 00:07:17,560
‫Zwracamy szczególną uwagę na wielkość liter, ponieważ wielkość liter jest często bardzo ważna, a także

103
00:07:17,560 --> 00:07:18,490
‫średniki.

104
00:07:18,490 --> 00:07:20,680
‫Ludzie często zapominają o ich uwzględnieniu.

105
00:07:21,220 --> 00:07:26,170
‫Więc teraz chciałbym rzucić wyzwanie, abyś dodał własną zmienną w nowej linii w tym nagłówku pliku.

106
00:07:26,170 --> 00:07:30,130
‫Uczyń go więc typem pływaka lub byka i nadaj mu inną nazwę.

107
00:07:30,130 --> 00:07:31,990
‫Zmienne nie mogą mieć tej samej nazwy.

108
00:07:31,990 --> 00:07:32,860
‫Muszą być inne.

109
00:07:33,400 --> 00:07:34,930
‫Nadaj mu wartość domyślną.

110
00:07:34,930 --> 00:07:38,050
‫Więc jeśli jest to liczba zmiennoprzecinkowa, wartość domyślna musi mieć format.

111
00:07:38,050 --> 00:07:39,700
‫Coś, coś, coś.

112
00:07:40,090 --> 00:07:42,940
‫Jeśli jest to wartość logiczna, musi być prawdą lub fałszem.

113
00:07:42,940 --> 00:07:51,040
‫Cała darmowa kompilacja małymi literami przy użyciu kodowania na żywo, a następnie sprawdź, czy pojawiły się jakieś błędy, a jeśli wrócisz i zobacz, jak

114
00:07:51,040 --> 00:07:55,000
‫to robię, aby dokładnie sprawdzić, czy napisałeś to we właściwy sposób.

115
00:07:55,450 --> 00:07:57,010
‫Wstrzymaj wideo i spróbuj.

116
00:08:00,410 --> 00:08:00,830
‫Dobra.

117
00:08:00,830 --> 00:08:01,520
‫Witamy spowrotem.

118
00:08:02,090 --> 00:08:06,380
‫Wróćmy więc do kodu programu Visual Studio i dodamy zmienną.

119
00:08:06,390 --> 00:08:09,380
‫Więc przede wszystkim zamierzamy zrobić z tego nową nieruchomość.

120
00:08:09,380 --> 00:08:13,370
‫To otwarte nawiasy, edytowanie w dowolnym miejscu i zamykanie nawiasów.

121
00:08:13,370 --> 00:08:14,240
‫I na nowej linii.

122
00:08:14,240 --> 00:08:21,260
‫Zrobię z tego typ pływaka i będziemy go nazywać moimi pływakami, aby podtrzymać tutejszą tradycję.

123
00:08:21,740 --> 00:08:27,260
‫I damy mu domyślną wartość 5. 99, a następnie umieść średnik na końcu

124
00:08:27,290 --> 00:08:33,080
‫wiersza, upewnij się, że masz wszystkie składniki tego, co właśnie tu wpisałem, a następnie dodam

125
00:08:33,080 --> 00:08:34,100
‫więcej spacji.

126
00:08:34,100 --> 00:08:36,980
‫Zauważ, że dodaję wiele nowych linii.

127
00:08:36,980 --> 00:08:38,900
‫Tak naprawdę nie ma znaczenia, ile masz nowych linii.

128
00:08:39,170 --> 00:08:40,640
‫Biała przestrzeń nie ma znaczenia.

129
00:08:40,880 --> 00:08:44,480
‫Jak powiedziałem, wtedy znów będziemy mieli nową nieruchomość.

130
00:08:44,900 --> 00:08:51,800
‫Dodaj go w dowolnym miejscu, które będzie typu bool, a nazwę go moim bool i przypiszę

131
00:08:51,800 --> 00:08:55,580
‫mu domyślną wartość true i wstawię tam średnik.

132
00:08:55,820 --> 00:08:58,310
‫Teraz nie musisz zapisywać, jeśli masz automatycznie zapisany, ale robisz.

133
00:08:58,310 --> 00:09:01,100
‫Jeśli nie, wracamy do edytora.

134
00:09:01,190 --> 00:09:08,780
‫Naciskamy przycisk kodowania na żywo w prawym dolnym rogu, a dziennik pojawi się i miejmy nadzieję, że się powiedzie, co

135
00:09:09,290 --> 00:09:10,670
‫zrobił dla mnie.

136
00:09:10,670 --> 00:09:16,460
‫Ale chcę tylko pokazać, co by się stało, gdybym popełnił błąd, na przykład pominął

137
00:09:16,460 --> 00:09:20,240
‫średnik i koniec tej linii zamiast ładnej, uspokajającej zieleni.

138
00:09:20,240 --> 00:09:25,310
‫Na końcu dziennika zamiast tego pojawi się czerwona kompilacja.

139
00:09:25,670 --> 00:09:31,480
‫Więc ważne jest, że jeśli dostaniesz kompilację, nie powiedzie się, najpierw po pierwsze, sprawdź swój kod,

140
00:09:31,490 --> 00:09:38,000
‫upewnij się, że pasuje do mojego, ponieważ tak jak powiedziałem, często jest to tylko literówka, a jeśli nie,

141
00:09:38,000 --> 00:09:41,960
‫skopiuj to i wstaw w Q&A i poproś o pomoc.

142
00:09:42,410 --> 00:09:49,130
‫To powiedziawszy, zamierzam teraz poprawić swój kod i ponownie go skompilować, a kiedy to się

143
00:09:49,130 --> 00:09:56,120
‫powiedzie, mogę zamknąć dziennik i mogę spojrzeć na zarys ruchomej platformy i mogę wybrać aktora ruchomej platformy,

144
00:09:56,120 --> 00:10:00,680
‫zajrzeć okienko szczegółów i zobacz wszystkie utworzone przeze mnie zmienne.

145
00:10:00,680 --> 00:10:06,770
‫My int, my float i my bool oraz domyślne wartości, które im tam podaliśmy.

146
00:10:07,160 --> 00:10:10,010
‫Teraz warto zauważyć, że są to rzeczywiście tylko wartości domyślne.

147
00:10:10,010 --> 00:10:16,670
‫Więc jeśli miałbyś zastąpić te wartości w edytorze, w Blueprint lub na poziomie, a następnie zmienić je

148
00:10:16,670 --> 00:10:21,050
‫w C++, zmiany w C++ nie będą już miały wpływu.

149
00:10:21,050 --> 00:10:22,430
‫Były to tylko wartości domyślne.

150
00:10:22,670 --> 00:10:28,250
‫Więc jeśli dokonałeś zmian w Blueprint, ma to pierwszeństwo i zastępuje wszystko, co zrobiłeś w C++.

151
00:10:28,580 --> 00:10:29,330
‫Fantastyczne rzeczy.

152
00:10:29,330 --> 00:10:35,360
‫Stworzyliśmy nasze pierwsze zmienne, nasz pierwszy kod w C++ i wprowadziliśmy go za pomocą kodowania na żywo.

153
00:10:35,360 --> 00:10:36,980
‫Do zobaczenia na następnym wykładzie.

