﻿1
00:00:04,500 --> 00:00:05,400
‫Cześć i witaj.

2
00:00:05,400 --> 00:00:12,360
‫Na tym wykładzie nauczymy się ustawiać funkcje wywoływania lokalizacji w C++, tak abyśmy mogli

3
00:00:12,360 --> 00:00:16,710
‫przenieść kostkę w nowe miejsce, gdy zaczniemy grać.

4
00:00:16,710 --> 00:00:19,290
‫Jak widać tutaj, ta kostka pojawiła się nagle, gdy zaczęliśmy grać.

5
00:00:19,590 --> 00:00:23,190
‫Zanurzmy się i zobaczmy, jak działają funkcje w C++.

6
00:00:23,730 --> 00:00:31,290
‫Przyjrzyjmy się więc, jak funkcje przekładają się z Blueprint na C++, szczególnie używając funkcji na tym

7
00:00:31,290 --> 00:00:31,950
‫etapie.

8
00:00:31,950 --> 00:00:36,180
‫W dalszej części tej sekcji przyjrzymy się, jak tworzyć własne.

9
00:00:36,690 --> 00:00:40,230
‫Aby odświeżyć pamięć, tak wygląda funkcja w Blueprint.

10
00:00:40,230 --> 00:00:45,420
‫Widać, że mamy węzeł, mamy piny wejściowe po lewej stronie, piny wyjściowe po prawej

11
00:00:45,420 --> 00:00:50,850
‫i możemy podłączyć takie rzeczy jak zmienna do pinu wejściowego, aby zrobić to samo w C++.

12
00:00:50,850 --> 00:00:55,140
‫Wygląda na to, że ponownie używasz nazw funkcji, w których nie ma spacji.

13
00:00:55,140 --> 00:01:00,660
‫Więc zamiast mieć ustawiony węzeł lokalizacji aktora jako oddzielne słowa, mamy to wszystko uruchomione razem za

14
00:01:00,660 --> 00:01:03,660
‫pomocą przypadku wielbłąda, a następnie mamy nasze nawiasy.

15
00:01:03,660 --> 00:01:10,410
‫A w nawiasach mamy listę danych wejściowych, a tych danych wejściowych może być więcej niż jeden.

16
00:01:10,410 --> 00:01:14,220
‫Możesz je oddzielić przecinkami, ale w pierwszym przypadku będziemy mieć tylko jeden.

17
00:01:14,670 --> 00:01:17,930
‫A te dane wejściowe są w rzeczywistości nazywane argumentami.

18
00:01:17,940 --> 00:01:20,460
‫Nie pytaj, dlaczego nie chcę się o to kłócić.

19
00:01:20,790 --> 00:01:27,840
‫Więc będziemy musieli umieścić te zmienne, ale nie musisz przekazywać zmiennych.

20
00:01:27,840 --> 00:01:29,070
‫Zmienne to tylko jeden ze sposobów na zrobienie tego.

21
00:01:29,070 --> 00:01:30,900
‫Możesz również przekazywać wartości.

22
00:01:30,900 --> 00:01:36,540
‫Więc gdybyśmy mieli taką sytuację, w której chcielibyśmy ustawić lokalizację na

23
00:01:36,540 --> 00:01:44,760
‫1 do 3, możemy to zrobić również w C++, używając konstruktora Vector bezpośrednio w nawiasach dla funkcji.

24
00:01:44,760 --> 00:01:51,000
‫Oznacza to, że ustawiamy ją na konkretną wartość, a nie wartość zawartą w zmiennej.

25
00:01:51,000 --> 00:01:52,560
‫Więc spróbujmy.

26
00:01:52,560 --> 00:01:59,730
‫Przechodzimy do kodu programu Visual Studio i rzucimy okiem na grę Rozpocznij zaraz po

27
00:01:59,730 --> 00:02:01,470
‫zaktualizowaniu My Vector.

28
00:02:01,980 --> 00:02:07,410
‫Dodamy kilka nowych linijek i zacznę wpisywać set actor location, upewnij się,

29
00:02:07,410 --> 00:02:12,930
‫że wpisałeś to poprawnie, ponieważ nazwy muszą się zgadzać dokładnie w C++,

30
00:02:12,930 --> 00:02:18,330
‫potem otwierasz nawiasy i zaczynamy skonstruuj nową wartość wektora F.

31
00:02:18,360 --> 00:02:22,740
‫Więc znowu wpisze wektor F open nawiasy.

32
00:02:23,070 --> 00:02:28,410
‫I tutaj faktycznie przekazujemy argumenty do konstruktora dla F Vector.

33
00:02:28,410 --> 00:02:33,690
‫To bardzo przypomina wywołanie funkcji, a następnie przekazanie wartości tej funkcji do innej

34
00:02:33,690 --> 00:02:34,230
‫funkcji.

35
00:02:34,290 --> 00:02:36,630
‫Ale o takich rzeczach porozmawiamy później.

36
00:02:37,020 --> 00:02:43,500
‫Możemy tutaj wpisać jeden, przecinek dwa, przecinek trzy, co oznacza, że wektor f jeden, dwa,

37
00:02:43,500 --> 00:02:48,930
‫trzy zostanie przekazany do ustawionej lokalizacji aktora, a następnie możemy wstawić średnik na

38
00:02:48,930 --> 00:02:50,670
‫końcu ukończona linia.

39
00:02:51,030 --> 00:02:53,010
‫Więc przejdźmy do nierealności.

40
00:02:53,010 --> 00:02:56,460
‫Przejdźmy dalej i skompilujmy kod.

41
00:02:56,460 --> 00:03:02,700
‫Abyśmy mogli zobaczyć efekt tego, musimy udać się do ruchomej platformy, aktora i jednostek.

42
00:03:02,700 --> 00:03:07,770
‫Właściwie nie są one komponentami tego aktora, co oznacza, że nie może on mieć pozycji, ponieważ tylko

43
00:03:07,770 --> 00:03:09,600
‫komponenty mogą dać mu pozycję.

44
00:03:09,990 --> 00:03:16,080
‫Więc możemy iść dalej i dodać coś w rodzaju sześcianu do tego aktora z ruchomej platformy, przejść

45
00:03:16,080 --> 00:03:24,660
‫do reklamy w okienku szczegółów i przejść do sześcianu, a to da nam sześcian i możemy iść dalej, nacisnąć przycisk odtwarzania i zobaczyć, czy

46
00:03:24,660 --> 00:03:26,910
‫w stanie ustawić lokalizację tego aktora.

47
00:03:27,330 --> 00:03:32,670
‫Możemy kliknąć na ruchomą platformę, a następnie wysunąć za pomocą przycisku wysuwania na pasku narzędzi, a następnie dwukrotnie

48
00:03:32,670 --> 00:03:34,080
‫kliknąć na ruchomą platformę.

49
00:03:34,080 --> 00:03:37,740
‫I widać, że prowadzi nas do lokalizacji platformy ruchomej.

50
00:03:38,100 --> 00:03:45,060
‫Mając to wybrane w zarysie lub w widoku sceny, możemy spojrzeć na panel szczegółów i możemy to

51
00:03:45,060 --> 00:03:45,780
‫zobaczyć.

52
00:03:45,780 --> 00:03:51,660
‫Rzeczywiście, transformata mówi, że jej lokalizacja to jeden, dwa, trzy.

53
00:03:51,660 --> 00:03:55,500
‫Ustawiliśmy to poprawnie w kodzie C++.

54
00:03:55,530 --> 00:04:02,190
‫Teraz, w następnej części, będzie po prostu zagmatwane, jeśli ustawimy wartość Y mojego wektora na podstawie

55
00:04:02,640 --> 00:04:04,290
‫mojej zmiennej x.

56
00:04:04,590 --> 00:04:06,720
‫Więc usuńmy tę linię i zacznijmy grać dla mnie.

57
00:04:06,720 --> 00:04:13,320
‫To jest linia 19 i zrobię to kilka dodatkowych pustych linii, tak że mamy tylko jedną pomiędzy super

58
00:04:13,320 --> 00:04:15,840
‫początkiem gry i ustawieniem lokalizacji aktora.

59
00:04:16,380 --> 00:04:22,170
‫Następnie chciałbym zachęcić cię do użycia zmiennej zamiast konstruowania wektora w miejscu.

60
00:04:22,170 --> 00:04:26,280
‫Więc zastąpmy konstruktor wektora F, którego używamy.

61
00:04:26,640 --> 00:04:31,740
‫Zaktualizuj mój wektor, aby miał inną lokalizację.

62
00:04:31,740 --> 00:04:34,950
‫Czy możesz go podnieść tak, aby był bliżej gracza?

63
00:04:34,950 --> 00:04:40,380
‫Kiedy zaczynamy grać, kostka jest tak naprawdę umieszczona w miejscu, gdzie gracz może ją zobaczyć.

64
00:04:40,800 --> 00:04:42,240
‫Wstrzymaj wideo i spróbuj.

65
00:04:45,330 --> 00:04:47,040
‫Witam ponownie.

66
00:04:47,070 --> 00:04:54,090
‫Więc sposób, w jaki to robimy, polega na usunięciu tego czynnika, nawiasów i argumentów, i tak się

67
00:04:54,090 --> 00:04:55,170
‫nazywają, pamiętasz?

68
00:04:55,230 --> 00:05:02,460
‫A następnie jako argument określający położenie aktora wpiszemy mój wektor.

69
00:05:02,490 --> 00:05:09,570
‫Więc użyje wartości wewnątrz zmiennej my vector, aby ustawić lokalizację aktora na początku gry, kiedy

70
00:05:09,570 --> 00:05:10,860
‫zaczynamy grać.

71
00:05:10,860 --> 00:05:14,160
‫Przejdźmy więc na razie do jednego prawdziwego stop play.

72
00:05:14,160 --> 00:05:21,300
‫Rzućmy okiem na lokalizację naszej postaci z trzeciej osoby i widzimy, że jest to lokalizacja

73
00:05:21,300 --> 00:05:22,080
‫tutaj.

74
00:05:22,080 --> 00:05:24,870
‫Co właściwie mogę zrobić, możesz skopiować każdy z nich ręcznie.

75
00:05:25,200 --> 00:05:30,210
‫Możesz właściwie kliknąć prawym przyciskiem myszy na lokalizację, kliknąć kopiuj, przejść do ruchomej platformy.

76
00:05:30,870 --> 00:05:37,980
‫A tam, gdzie mamy mój wektor, możemy kliknąć prawym przyciskiem myszy i nacisnąć wklej, a on wklei cały wektor

77
00:05:38,280 --> 00:05:39,330
‫właśnie tam.

78
00:05:39,690 --> 00:05:46,260
‫Więc teraz wiemy, że przenoszę kostki platformy tutaj na 000, ale jeśli wcisnę play, cóż, właściwie niewiele

79
00:05:46,260 --> 00:05:48,570
‫się dzieje, ponieważ zapomniałem skompilować.

80
00:05:48,810 --> 00:05:53,250
‫To jest rzecz, o której zawsze należy pamiętać, że musimy skompilować wszelkie zmiany w C++.

81
00:05:53,250 --> 00:05:59,730
‫Musimy więc nacisnąć ten przycisk kompilacji i dopiero po zakończeniu zobaczymy zmiany, które wprowadziliśmy.

82
00:05:59,730 --> 00:06:01,350
‫Więc chodźmy dalej i włączmy odtwarzanie.

83
00:06:01,560 --> 00:06:02,250
‫I proszę bardzo.

84
00:06:02,250 --> 00:06:06,750
‫Mamy kostkę stojącą tuż przed naszym graczem.

85
00:06:06,870 --> 00:06:11,430
‫Więc pomyślnie przenieśliśmy go na początek gry za pomocą kodu C++.

86
00:06:11,580 --> 00:06:12,150
‫Świetna sprawa.

87
00:06:12,420 --> 00:06:13,830
‫Do zobaczenia na następnym wykładzie.

