﻿1
00:00:04,020 --> 00:00:04,950
‫Cześć i witaj.

2
00:00:04,950 --> 00:00:11,040
‫W tym wykładzie zrobimy to tak, że kiedy zużyjesz wszystkie swoje pociski, twoja

3
00:00:11,040 --> 00:00:13,920
‫gra automatycznie zrestartuje obecny poziom.

4
00:00:13,920 --> 00:00:18,540
‫Po przerwie 5 sekund zanurkujmy i zobaczmy, jak to się robi.

5
00:00:19,170 --> 00:00:24,600
‫Tak więc jednym z elementów tej gry, który nie jest obecnie szczególnie zabawny, jest to, że kiedy skończy ci się amunicja,

6
00:00:24,600 --> 00:00:25,570
‫to ślepy zaułek.

7
00:00:25,600 --> 00:00:29,580
‫Nie możesz spróbować ponownie, nie możesz zrobić nic innego, nie możesz przejść na inny poziom.

8
00:00:30,210 --> 00:00:37,920
‫Teraz możesz to naprawić, pozwalając nam na przeładowanie na obecnym poziomie.

9
00:00:39,000 --> 00:00:42,690
‫Możesz to zrobić za pomocą specjalnej notatki w Blueprint.

10
00:00:42,700 --> 00:00:47,370
‫Jeśli więc klikniesz prawym przyciskiem myszy na wykresie wydarzeń, otworzysz swój plan poziomu i klikniesz prawym przyciskiem myszy na wykresie

11
00:00:47,370 --> 00:00:47,670
‫wydarzeń.

12
00:00:48,210 --> 00:00:50,310
‫Możemy szukać otwartego poziomu.

13
00:00:50,670 --> 00:00:51,660
‫I tutaj są dwie opcje.

14
00:00:51,660 --> 00:00:55,380
‫Istnieje poziom otwarty według nazwy i poziom otwarty według odniesienia do obiektu.

15
00:00:55,830 --> 00:00:59,250
‫Poziomu otwartego możemy używać według nazwy.

16
00:00:59,640 --> 00:01:06,480
‫Więc tutaj masz węzeł, który oczywiście ma skutki uboczne, ponieważ przeładuje poziom i ma dane wejściowe,

17
00:01:06,480 --> 00:01:08,910
‫które jest nazwą poziomu tutaj.

18
00:01:09,550 --> 00:01:11,970
‫W jaki sposób uzyskamy obecną nazwę poziomu?

19
00:01:11,970 --> 00:01:19,830
‫Moglibyśmy to po prostu wpisać, ale jeśli przypadkowo zmienimy nazwę tego poziomu w pewnym momencie w przyszłości,

20
00:01:19,830 --> 00:01:28,890
‫cóż, możemy również kliknąć prawym przyciskiem myszy i uzyskać nazwę bieżącego poziomu, co daje nam kolejny węzeł, który zwraca bieżącą

21
00:01:28,890 --> 00:01:30,720
‫nazwę poziomu .

22
00:01:30,900 --> 00:01:33,870
‫Co ciekawe, nie jest to czysta funkcja.

23
00:01:33,870 --> 00:01:36,600
‫Nie mam pojęcia dlaczego, bo wygląda tak, jak powinno być.

24
00:01:37,080 --> 00:01:38,300
‫A co możemy zrobić, to możemy.

25
00:01:38,340 --> 00:01:42,930
‫Mimo że te dwa typy są różne, jeden z nich zwraca ciąg znaków, a drugi wymaga czegoś

26
00:01:42,930 --> 00:01:44,190
‫w rodzaju nazwy typu.

27
00:01:44,460 --> 00:01:51,060
‫Właściwie można bardzo łatwo przekonwertować między ciągami a nazwą, dzięki czemu możemy przeciągnąć od wartości zwracanej

28
00:01:51,060 --> 00:01:56,130
‫do wartości wejściowej, a węzeł konwersji zostanie automatycznie utworzony dla nas.

29
00:01:56,550 --> 00:02:00,000
‫Musimy również podłączyć punkt egzekucyjny między tymi dwoma.

30
00:02:00,000 --> 00:02:04,140
‫Więc przekonwertujemy bieżącą nazwę poziomu, a następnie otworzymy poziom.

31
00:02:04,860 --> 00:02:06,810
‫Kiedy to jest, że chcemy to zrobić?

32
00:02:06,810 --> 00:02:12,870
‫Obecnie wszystko dzieje się albo na kluczowym wydarzeniu, albo na początku gry, ale jest inna opcja.

33
00:02:12,870 --> 00:02:20,580
‫To, co możemy zrobić, to mieć specjalny węzeł w głównym grafie zdarzeń, a więc nie w obrębie funkcji, ale w

34
00:02:20,580 --> 00:02:23,010
‫głównym grafie zdarzeń zwanym węzłem opóźnienia.

35
00:02:23,010 --> 00:02:29,160
‫Więc to, co zamierzamy zrobić, to po wciśnięciu braku amunicji, wyrwiemy tu szpilkę

36
00:02:29,160 --> 00:02:31,290
‫egzekucyjną i poszukamy opóźnienia.

37
00:02:32,280 --> 00:02:37,020
‫A potem widać, że wprowadza specjalny rodzaj węzła z zegarem.

38
00:02:37,020 --> 00:02:45,420
‫A to oznacza, że wyjście nie następuje natychmiast po zakończeniu funkcji, ale po

39
00:02:45,420 --> 00:02:46,980
‫pewnym czasie.

40
00:02:47,010 --> 00:02:53,430
‫Jak widać, możemy tutaj wprowadzić czas trwania, który może wynosić na przykład 5 sekund.

41
00:02:53,430 --> 00:03:03,960
‫Więc w moim wydruku, zamierzam zaktualizować go, aby powiedzieć, że brak amunicji zostanie ponownie uruchomiony za 5 sekund, a następnie kropka, kropka,

42
00:03:03,960 --> 00:03:04,440
‫kropka.

43
00:03:05,190 --> 00:03:15,240
‫A potem możemy wstawić kod, który ponownie uruchamia poziom na wyjściu, ukończonym węźle węzła

44
00:03:15,240 --> 00:03:16,350
‫opóźnienia.

45
00:03:16,890 --> 00:03:24,330
‫Więc jeśli pójdziemy dalej i zagramy teraz, zobaczymy, że może mi się skończyć amunicja, skończyć całą amunicję,

46
00:03:24,330 --> 00:03:26,160
‫skończyła mi się.

47
00:03:26,160 --> 00:03:33,390
‫I mówi Restart za 5 sekund, a po 5 sekundach, bum, poziom właśnie się zrestartował.

48
00:03:33,540 --> 00:03:40,860
‫Tak małym wyzwaniem dla tego wykładu jest wyodrębnienie funkcji z tych węzłów, które właśnie stworzyliśmy, pobranie bieżącego

49
00:03:40,890 --> 00:03:43,500
‫poziomu, nazwy i poziomu otwartego.

50
00:03:43,920 --> 00:03:48,780
‫A moim wyzwaniem jest po prostu wymyślenie dobrej nazwy dla tej funkcji.

51
00:03:48,780 --> 00:03:50,190
‫Wstrzymaj wideo i spróbuj.

52
00:03:53,670 --> 00:03:54,030
‫Dobra.

53
00:03:54,030 --> 00:03:54,620
‫Witamy spowrotem.

54
00:03:54,630 --> 00:03:59,220
‫Cóż, nazwę to poziomem restartu, ponieważ myślę, że to właśnie robi.

55
00:03:59,460 --> 00:04:07,860
‫Więc zamierzam kliknąć prawym przyciskiem zwiniętą funkcję i nazwać ją poziomem restartu i jest w porządku z bieżącymi danymi

56
00:04:07,860 --> 00:04:08,430
‫wejściowymi.

57
00:04:08,430 --> 00:04:12,510
‫Nie musi być czysty, ponieważ ma efekt uboczny ponownego uruchomienia poziomu.

58
00:04:12,750 --> 00:04:14,940
‫Więc i tak nie chcielibyśmy, żeby to było czyste.

59
00:04:14,970 --> 00:04:15,630
‫Więc to jest to.

60
00:04:15,630 --> 00:04:22,140
‫Zamierzam po prostu lekko zreorganizować moje węzły i usunąć węzeł testowy oraz funkcję testową, klikając go prawym przyciskiem

61
00:04:22,140 --> 00:04:24,930
‫myszy w moich projektach i naciskając Usuń.

62
00:04:25,560 --> 00:04:33,150
‫I mamy skondensowany, mały wykres schematu, który dokładnie opisuje, co nasza gra może

63
00:04:33,150 --> 00:04:36,270
‫zrobić na bardzo wysokim poziomie.

64
00:04:36,420 --> 00:04:37,770
‫Więc jestem zadowolony z rezultatów.

65
00:04:37,770 --> 00:04:41,400
‫Wygląda na to, że mamy dobrą pętlę gry i do zobaczenia w następnym wykładzie.

