﻿1
00:00:04,320 --> 00:00:04,950
‫Cześć i witaj.

2
00:00:04,950 --> 00:00:13,080
‫W tym wykładzie będziemy odradzać nasz karabin w czasie wykonywania z naszej klasy postaci w C++.

3
00:00:13,080 --> 00:00:15,030
‫Zanurzmy się i zobaczmy, jak to się robi.

4
00:00:16,500 --> 00:00:16,770
‫Dobra.

5
00:00:16,770 --> 00:00:19,890
‫Więc chcemy, aby nasza broń odradzała się.

6
00:00:19,890 --> 00:00:26,070
‫Jako dziecko postaci pędów, pierwszym punktem wyjścia jest możliwość odrodzenia tego aktora z wnętrza

7
00:00:26,070 --> 00:00:27,180
‫innego aktora.

8
00:00:27,960 --> 00:00:29,140
‫Zrobimy to w czasie wykonywania.

9
00:00:29,140 --> 00:00:32,880
‫Zaczniemy grać, ponieważ w ten sposób możesz to zrobić, gdy się odradzasz.

10
00:00:32,880 --> 00:00:34,230
‫Aktorzy muszą to zrobić w czasie wykonywania.

11
00:00:34,740 --> 00:00:38,400
‫A sposób, w jaki to zrobimy, to zdobycie świata jako pierwsi.

12
00:00:38,400 --> 00:00:44,760
‫Więc pobierz świat, a następnie wywołamy funkcję na Pobierz świat, przy okazji, świat i poziom jako synonim.

13
00:00:44,780 --> 00:00:48,720
‫Więc to, co właściwie robimy, to wchodzimy na poziom i mówimy,

14
00:00:48,720 --> 00:00:53,970
‫hej, poziom, czy możesz tworzyć jako aktor, ponieważ wszyscy aktorzy zasadniczo należą lub żyją na poziomie.

15
00:00:54,780 --> 00:00:58,200
‫Więc mówimy, wiesz, odradzaj się dla mnie aktorem, proszę.

16
00:00:58,920 --> 00:01:04,760
‫A to jest aktor odradzania, który bierze szablon.

17
00:01:04,760 --> 00:01:10,200
‫Więc możesz powiedzieć, chcę, żeby ten aktor, którego mam zamiar odrodzić, był pistoletem typu A.

18
00:01:10,680 --> 00:01:17,910
‫A żeby to zadziałało, będziemy potrzebowali dodać tutaj hash include do broni.

19
00:01:18,930 --> 00:01:19,380
‫H.

20
00:01:21,270 --> 00:01:29,730
‫A potem weźmiemy argument, a argumentem do odrodzenia może być w rzeczywistości typ klasy.

21
00:01:29,730 --> 00:01:33,750
‫Więc domyślnie pójdzie dalej i odrodzi C++.

22
00:01:33,750 --> 00:01:38,160
‫Ale tutaj chcemy odrodzić projekt dziecka tego pistoletu.

23
00:01:38,160 --> 00:01:43,530
‫Więc musimy dowiedzieć się, co to będzie, co należy podłączyć w Blueprint.

24
00:01:43,530 --> 00:01:46,050
‫Nie da się tego podłączyć tutaj w C++, przynajmniej nie jest to łatwe.

25
00:01:46,050 --> 00:01:48,180
‫Najlepszym miejscem do tego jest Blueprint.

26
00:01:48,420 --> 00:01:53,730
‫Zrobimy więc ALLO, aby przejść do pliku nagłówkowego naszej postaci strzelanki i dodamy

27
00:01:53,730 --> 00:01:55,380
‫tutaj nową właściwość you.

28
00:01:56,390 --> 00:02:03,400
‫Aby umożliwić nam skonfigurowanie klasy, na którą powinniśmy wskazywać, aby odrodzić działanie.

29
00:02:03,410 --> 00:02:06,800
‫Którą klasę schematu powinniśmy odrodzić z tej postaci strzelca?

30
00:02:07,430 --> 00:02:17,450
‫Będziemy mieć to tylko domyślną edycję, tylko domyślną edycję, ponieważ nie chcemy mieć możliwości edytowania tego w czasie wykonywania, ponieważ dałoby to

31
00:02:17,450 --> 00:02:22,310
‫fałszywe wrażenie, że można zmienić rodzaj pistoletu, którego używamy runtime, podczas

32
00:02:22,550 --> 00:02:27,920
‫gdy wybieranie sztuk zostało już nazwane, że broń już się pojawiła, więc

33
00:02:27,920 --> 00:02:30,680
‫tak naprawdę niczego nie aktualizuje.

34
00:02:30,680 --> 00:02:34,880
‫Więc nie chcemy, aby był edytowalny, aby nie dawać ludziom fałszywego wrażenia, co można zrobić.

35
00:02:35,540 --> 00:02:41,750
‫A potem użyjemy makra o nazwie podklasa T, z którym mogłeś wcześniej się zetknąć lub

36
00:02:41,750 --> 00:02:42,320
‫nie.

37
00:02:43,310 --> 00:02:45,170
‫A podklasa T jest szablonem.

38
00:02:45,170 --> 00:02:52,310
‫Więc ponownie używamy tych kątowników i chcemy, żeby to była podklasa broni.

39
00:02:52,880 --> 00:02:59,600
‫I zasadniczo oznacza to, że pozwala to projektom ograniczać klasy, z których możemy

40
00:02:59,600 --> 00:03:05,420
‫wybierać, tylko do klas, które są podklasami klasy Gun C++.

41
00:03:06,050 --> 00:03:10,760
‫To nie będzie wskazówka, ponieważ nie wskazujemy rzeczywistego egzemplarza broni.

42
00:03:11,120 --> 00:03:15,350
‫To, co otrzymujemy w tej zmiennej, to sama klasa.

43
00:03:15,590 --> 00:03:18,320
‫W tym przypadku jest to klasa projektu, ale nadal jest to klasa.

44
00:03:18,950 --> 00:03:25,670
‫Będziemy chcieli to nazwać klasą dział, żeby było jasne, że to nie

45
00:03:25,670 --> 00:03:27,620
‫jest samo działo.

46
00:03:28,160 --> 00:03:36,770
‫Chcemy, aby inna właściwość ciebie tutaj przechowywała broń i nie będzie to domyślna edycja.

47
00:03:36,770 --> 00:03:42,320
‫Więc w zasadzie nie chcemy, aby ta właściwość była w ogóle widoczna, ale będzie to wskaźnik

48
00:03:42,440 --> 00:03:43,100
‫pistoletu.

49
00:03:43,100 --> 00:03:43,850
‫Zobacz różnicę?

50
00:03:43,850 --> 00:03:50,720
‫Jedna z nich to podklasa t broni, druga to wskaźnik do broni, a ta jest rzeczywistą bronią.

51
00:03:50,750 --> 00:03:54,470
‫To jest po utworzeniu instancji klasy, tam zamierzamy ją przechowywać.

52
00:03:55,040 --> 00:04:03,830
‫Przejdźmy więc do naszego strzelca c p i zakończmy tę grę, w której odradzamy różne rzeczy, więc będziemy

53
00:04:03,830 --> 00:04:10,130
‫mieli broń równą, aby odrodzenie świata działało jak broń, a kłótnia przejdzie tutaj

54
00:04:10,130 --> 00:04:14,690
‫jest klasa broni które zamierzamy umieścić w planach.

55
00:04:15,050 --> 00:04:17,750
‫Więc chodźmy i spróbujmy to skompilować.

56
00:04:17,750 --> 00:04:18,860
‫To może dać nam pewne błędy.

57
00:04:18,860 --> 00:04:23,450
‫Zobaczmy, mam otwarty dziennik wiadomości z dziennikiem kompilacji.

58
00:04:23,450 --> 00:04:28,190
‫I rzeczywiście, w pliku głównym pojawia się kilka błędów mówiących o niezadeklarowanym identyfikatorze,

59
00:04:28,670 --> 00:04:31,040
‫ponieważ musimy przesłać dalej deklarację broni.

60
00:04:31,280 --> 00:04:32,830
‫Więc zrobię to na górze.

61
00:04:32,930 --> 00:04:35,420
‫To jest w dwóch miejscach, które powiem w klasie.

62
00:04:36,490 --> 00:04:39,180
‫Pistolet jak celownik.

63
00:04:39,820 --> 00:04:45,040
‫Przypominam, że takie deklarowanie w przód oznacza, że możemy skrócić czas kompilacji, nie umieszczając

64
00:04:45,040 --> 00:04:47,350
‫zbyt wiele w ciężkim nagłówku plików.

65
00:04:47,950 --> 00:04:49,330
‫Spróbujmy przekompilować i zobaczmy.

66
00:04:49,850 --> 00:04:51,210
‫Wygląda na to, że to był jedyny błąd.

67
00:04:51,220 --> 00:04:52,690
‫Jest teraz pomyślnie skompilowany.

68
00:04:52,720 --> 00:04:55,840
‫Chodźmy dalej, włączmy odtwarzanie i zobaczmy, co się stanie.

69
00:04:55,870 --> 00:04:56,380
‫Wyjście.

70
00:04:56,410 --> 00:04:57,520
‫Zobacz nasze.

71
00:04:57,850 --> 00:05:00,580
‫Zasadniczo chcemy rzucić okiem na ładowanie wiadomości, których nie mam otwarte.

72
00:05:00,850 --> 00:05:07,720
‫Przejdźmy więc do narzędzi okienkowych i programistycznych i spójrzmy na dziennik wyjściowy i zobaczmy, czy nie mamy tutaj żadnych błędów.

73
00:05:07,750 --> 00:05:08,110
‫Tak.

74
00:05:08,140 --> 00:05:10,780
‫Aktor odradzania się nie powiódł, ponieważ nie określono klasy.

75
00:05:10,810 --> 00:05:11,200
‫Pewny.

76
00:05:11,230 --> 00:05:14,710
‫Nie określono klasy, ponieważ nie skonfigurowaliśmy jej jeszcze w planie.

77
00:05:14,950 --> 00:05:21,160
‫Więc to zamierzam zapisać jako wyzwanie dla ciebie, aby podłączyć broń, znaleźć właściwość w naszych schematach

78
00:05:21,160 --> 00:05:25,600
‫postaci, ustawić ją na właściwą broń i przetestować, czy się odradza.

79
00:05:25,600 --> 00:05:26,650
‫Wstrzymaj wideo i spróbuj.

80
00:05:26,710 --> 00:05:27,520
‫OK, witaj z powrotem.

81
00:05:27,530 --> 00:05:36,190
‫Przejdźmy więc do naszej postaci strzelca, BP, i znajdźmy właściwość, która powinna znajdować się na trasie lub

82
00:05:36,190 --> 00:05:37,150
‫klasie.

83
00:05:37,150 --> 00:05:40,750
‫Domyślnie wchodzą w szczegóły i podbijają postać.

84
00:05:40,780 --> 00:05:47,350
‫Widać, że mamy tutaj rotację, którą skonfigurowaliśmy i mamy klasę pistoletu, która jest listą

85
00:05:47,350 --> 00:05:52,060
‫rozwijaną, która pozwala mi wybrać, czy pistolet jest pistoletem C++.

86
00:05:52,180 --> 00:05:54,250
‫I tutaj przydaje się konwencja nazewnictwa.

87
00:05:54,520 --> 00:05:57,640
‫Rzeczy poprzedzone podkreśleniem BP to plany.

88
00:05:57,880 --> 00:06:00,280
‫Więc chcemy karabin AB BP z podkreśleniem.

89
00:06:00,310 --> 00:06:05,620
‫Pójdziemy dalej i wybierzemy ten zapis kompilacji, przejdziemy do sceny i wciśniemy Odtwórz.

90
00:06:06,190 --> 00:06:11,680
‫Miejmy nadzieję, że nie mamy żadnych błędów dotyczących odradzania broni.

91
00:06:12,070 --> 00:06:13,390
‫Pistolet powinien się odrodzić.

92
00:06:13,390 --> 00:06:14,170
‫Dobra.

93
00:06:14,500 --> 00:06:20,590
‫A żeby dowiedzieć się, czy tak, możemy F8 i zajrzeć do zarysu świata.

94
00:06:20,650 --> 00:06:26,140
‫Jeśli trochę powiększę zarys świata, mogę poszukać karabinu z podkreśleniem BP.

95
00:06:26,260 --> 00:06:26,890
‫Hurra.

96
00:06:26,890 --> 00:06:32,320
‫Mamy karabin z podkreśleniem BP w momencie, gdy jest w szczerym polu i nie jest to prawidłowy identyfikator dziecka.

97
00:06:32,530 --> 00:06:34,750
‫To będzie temat następnego wykładu.

98
00:06:34,750 --> 00:06:36,520
‫Więc tam cię zobaczę.

