﻿1
00:00:04,500 --> 00:00:05,120
‫Cześć i witaj.

2
00:00:05,130 --> 00:00:11,160
‫W tym wykładzie zamierzamy zaprojektować broń w taki sposób, że po naciśnięciu przycisku

3
00:00:11,160 --> 00:00:14,490
‫myszy lub spustu otrzymamy komunikat dziennika.

4
00:00:14,490 --> 00:00:19,530
‫I ten komunikat dziennika jest pierwszym krokiem do uzyskania wielu innych rzeczy z tyłu tej

5
00:00:19,530 --> 00:00:20,310
‫architektury pistoletu.

6
00:00:20,310 --> 00:00:22,110
‫Zanurzmy się i zobaczmy, jak to się robi.

7
00:00:23,120 --> 00:00:26,700
‫Dlatego chcemy, aby ta broń ostatecznie mogła strzelać.

8
00:00:26,720 --> 00:00:28,250
‫I to jest sedno tego.

9
00:00:28,250 --> 00:00:32,960
‫Dlaczego wybieramy broń jako rdzeń naszej architektury strzeleckiej?

10
00:00:32,990 --> 00:00:38,750
‫Cóż, jak już trochę wspomniałem, chcemy być w stanie wspierać różne rodzaje metod

11
00:00:38,750 --> 00:00:39,470
‫strzelania.

12
00:00:39,490 --> 00:00:42,350
‫Teraz, jakie są rodzaje metod strzelania, które zwykle możemy mieć?

13
00:00:42,470 --> 00:00:48,140
‫Jest to ogień bezpośredni, który często wykorzystuje śledzenie promieni i bezpośrednią linię wzroku, aby ustalić, czy

14
00:00:48,140 --> 00:00:49,610
‫ofiara została trafiona.

15
00:00:49,730 --> 00:00:52,550
‫Więc poszedłby i powiedział: OK, widzę tego wroga.

16
00:00:52,580 --> 00:00:55,580
‫Chodzi o to, że linia widzenia od działa do wroga jest czysta.

17
00:00:55,580 --> 00:00:56,340
‫Uderza go.

18
00:00:56,360 --> 00:00:57,930
‫Więc musimy mu zaszkodzić.

19
00:00:57,950 --> 00:01:01,340
‫W przeciwnym razie, jeśli chybiłem i nie trafiłem wroga, nie zadaje to obrażeń.

20
00:01:01,370 --> 00:01:02,750
‫To bardzo łatwy sposób.

21
00:01:02,750 --> 00:01:05,600
‫Tak naprawdę nie odwzorowuje fizyki pocisku, ale nie ma takiej potrzeby.

22
00:01:05,630 --> 00:01:09,920
‫Więc ze względu na wydajność, nie mamy teraz wyrzutni rakiet lub czegoś w tym rodzaju, często jest

23
00:01:09,920 --> 00:01:11,000
‫to bardzo powolny pocisk.

24
00:01:11,000 --> 00:01:16,340
‫Chcemy zobaczyć efekt tego pocisku poruszającego się w powietrzu, a opóźnienie czasowe może być ważne.

25
00:01:16,730 --> 00:01:21,760
‫W takim przypadku możemy odrodzić ten pocisk i zobaczyć, czy pocisk trafi w

26
00:01:21,770 --> 00:01:28,950
‫czasie 5 sekund, lub możemy pójść inną drogą z rzucaniem pocisków i karabinami i karabinami snajperskimi na duże odległości.

27
00:01:29,030 --> 00:01:32,960
‫Więc wszystko to może się zmienić w zależności od zastosowania naszego pistoletu.

28
00:01:32,960 --> 00:01:36,130
‫Teraz w tej sekcji zaimplementujemy jeden pistolet.

29
00:01:36,170 --> 00:01:38,840
‫To będzie karabin, typ pistoletu do strzelania bezpośredniego.

30
00:01:38,840 --> 00:01:45,500
‫Ale aby pozostawić tę architekturę otwartą na rozszerzenie, sprawimy, że broń będzie odpowiedzialna za

31
00:01:45,530 --> 00:01:46,490
‫strzelanie.

32
00:01:46,520 --> 00:01:52,010
‫Oznacza to, że musimy iść dalej i wprowadzić do naszej broni pewną architekturę strzelania.

33
00:01:52,010 --> 00:01:53,010
‫Więc mamy strzał z pistoletu.

34
00:01:53,030 --> 00:02:00,650
‫H Chcemy stworzyć do tego funkcję publiczną, która pozwoli nam zasadniczo pociągnąć za spust

35
00:02:00,650 --> 00:02:02,690
‫pistoletu ze strzelca.

36
00:02:02,690 --> 00:02:03,000
‫Prawidłowy.

37
00:02:03,020 --> 00:02:05,220
‫Więc skądkolwiek wiążemy dane wejściowe.

38
00:02:05,240 --> 00:02:12,360
‫W przypadku wroga, na przykład, będziemy pociągać za spust z powietrza.

39
00:02:13,010 --> 00:02:15,550
‫Więc chodźmy dalej i stwórzmy pustkę.

40
00:02:15,560 --> 00:02:20,960
‫Nie musi mieć metody wyzwalacza typu pull typu return i nie musi niczego przyjmować.

41
00:02:20,970 --> 00:02:24,500
‫Wszystko, co musimy wiedzieć, to to, że chcemy pociągnąć za spust w tej klatce.

42
00:02:24,800 --> 00:02:27,170
‫Więc posiadanie tego jest wystarczające.

43
00:02:27,290 --> 00:02:33,740
‫Teraz przejdę do przodu i stworzę rotację z control shift P i stworzę implementację.

44
00:02:34,730 --> 00:02:40,160
‫A teraz tutaj, wszystko, co zamierzam zrobić, to umieścić dziennik YUI

45
00:02:40,160 --> 00:02:48,550
‫i po prostu ostrzec, aby się wyróżnić i zmienić wiadomość na Zostałeś tak postrzelony i to jest świetne .

46
00:02:48,560 --> 00:02:52,880
‫Więc to właśnie nazwiemy w naszej postaci, DOT CBP.

47
00:02:54,020 --> 00:02:57,440
‫Więc to będzie dla ciebie wyzwanie, czy jest trochę więcej wiązania danych wejściowych?

48
00:02:57,440 --> 00:02:58,730
‫Zrobiliśmy tutaj wiele wiązań wejściowych.

49
00:02:58,730 --> 00:03:01,670
‫Masz wiele przykładów wiązania danych wejściowych.

50
00:03:01,910 --> 00:03:02,960
‫Śmiało i zrób to.

51
00:03:02,960 --> 00:03:08,480
‫Aby podłączyć akcję kręcenia, będziesz musiał stworzyć nową akcję w ustawieniach projektu do

52
00:03:08,510 --> 00:03:09,020
‫kręcenia.

53
00:03:09,380 --> 00:03:16,850
‫Powiąż to ze swoim klawiszem, prawym wyzwalaczem, z czymkolwiek chcesz to powiązać, a następnie powiąż to w metodzie

54
00:03:17,210 --> 00:03:20,120
‫komponentu wejściowego gracza, aby to zrobić.

55
00:03:20,480 --> 00:03:26,240
‫A potem, po związaniu postaci, powinieneś być w stanie wywołać wyzwalacz z

56
00:03:26,240 --> 00:03:30,290
‫za pomocą funkcji, którą utworzyłeś dla postaci.

57
00:03:30,290 --> 00:03:36,320
‫Pamiętaj, aby wstawić funkcję do znaku, aby ustawić wiązanie, zamiast próbować wiązać się

58
00:03:36,320 --> 00:03:38,300
‫bezpośrednio z tym pistoletem.

59
00:03:38,300 --> 00:03:40,250
‫Wiązanie bezpośrednio z pistoletem nie zadziała.

60
00:03:40,250 --> 00:03:42,710
‫Musisz umieścić tam małego pośrednika funkcji.

61
00:03:43,460 --> 00:03:48,860
‫Więc zatrzymaj wideo, a dam ci małą wskazówkę lub trochę na początek, jeśli zmagasz

62
00:03:48,860 --> 00:03:52,910
‫się z ostatnią częścią wyzwania, jakim jest stworzenie funkcji pośredniczącej.

63
00:03:53,690 --> 00:03:55,220
‫Dobra, oto podpowiedź.

64
00:03:55,220 --> 00:03:56,630
‫Jeśli nie chcesz podpowiedzi, zatrzymaj się teraz.

65
00:03:56,930 --> 00:04:03,740
‫Ale wskazówka będzie taka, że zrobimy coś takiego, czyli stworzymy nową prywatną funkcję

66
00:04:03,740 --> 00:04:08,930
‫o nazwie void, strzelaj i tworzymy implementację w C++.

67
00:04:09,200 --> 00:04:14,600
‫I będzie w tym miejscu, w którym wywołamy własną metodę broni.

68
00:04:14,600 --> 00:04:18,290
‫Więc pistolety pociągną za spust, zrobimy broń.

69
00:04:19,370 --> 00:04:24,890
‫A potem pociągnij za spust od strzału.

70
00:04:24,890 --> 00:04:26,180
‫I to jest to, co musisz związać.

71
00:04:27,290 --> 00:04:34,190
‫OK, więc ponownie ściągam wideo, jeśli tam chcesz coś zrobić, a potem chodźmy i przygotujmy się do

72
00:04:34,190 --> 00:04:34,900
‫działań.

73
00:04:34,910 --> 00:04:35,240
‫Dobra.

74
00:04:35,240 --> 00:04:37,990
‫Więc przejdziemy do naszych ustawień projektu.

75
00:04:38,000 --> 00:04:44,900
‫Więc ustawienia, ustawienia projektu i chcemy to zadokować i przejść do naszego wejścia i chcemy dodać nową

76
00:04:44,900 --> 00:04:47,240
‫akcję i nazwiemy to strzelaniem.

77
00:04:48,300 --> 00:05:00,540
‫A potem powiążemy to z lewym przyciskiem myszy i prawym wyzwalaczem, a nie z prawą osią wyzwalacza.

78
00:05:01,140 --> 00:05:02,010
‫Prawo.

79
00:05:02,970 --> 00:05:03,720
‫Po prostu uruchom.

80
00:05:04,200 --> 00:05:06,090
‫Myślałem, że to właśnie wybrałem, ale tak nie było.

81
00:05:06,750 --> 00:05:09,420
‫Wiąże się więc zarówno z kontrolerem, jak i myszą.

82
00:05:09,930 --> 00:05:15,150
‫I zamierzam podejść i związać oś i strzelić w CP postaci.

83
00:05:15,330 --> 00:05:17,490
‫Więc skopiuj tę oś bindowania do skoku.

84
00:05:17,880 --> 00:05:18,720
‫Mam na myśli działanie.

85
00:05:18,720 --> 00:05:20,880
‫Oczywiście, zawsze pomylę tych dwoje.

86
00:05:21,450 --> 00:05:24,810
‫Mamy tutaj przełączenie wywołania na oś strzelania.

87
00:05:24,870 --> 00:05:31,980
‫Naciśnięcie jest tym, czego chcemy i zamiast wiązać się ze skokiem, zamiast tego połączymy się z strzelaniem

88
00:05:31,980 --> 00:05:32,520
‫postaci.

89
00:05:33,550 --> 00:05:34,330
‫Tak jak.

90
00:05:34,570 --> 00:05:36,010
‫I chodźmy dalej i budujmy.

91
00:05:36,790 --> 00:05:37,070
‫Dobra.

92
00:05:37,090 --> 00:05:38,740
‫Wygląda na to, że się udało.

93
00:05:38,890 --> 00:05:40,660
‫Zakończmy to.

94
00:05:40,780 --> 00:05:42,460
‫I zobacz, czy to działa.

95
00:05:42,580 --> 00:05:48,460
‫Więc wyjdźmy z gry i ponownie wciśnijmy play i spójrzmy na dziennik wyjściowy.

96
00:05:48,460 --> 00:05:50,320
‫Kluczowa gra.

97
00:05:50,620 --> 00:05:51,120
‫Tak.

98
00:05:51,220 --> 00:05:54,310
‫Więc jeśli nacisnę przycisk myszy, to działa.

99
00:05:54,640 --> 00:05:58,300
‫Zobaczmy, czy to samo stanie się, jeśli użyję prawego spustu.

100
00:05:58,840 --> 00:05:59,130
‫Tak.

101
00:05:59,140 --> 00:05:59,410
‫Dobrze.

102
00:05:59,410 --> 00:06:01,510
‫Spust też działa przy odpalaniu.

103
00:06:01,810 --> 00:06:07,850
‫Więc oczywiście logowanie nie jest najlepszym sposobem na poinformowanie gracza, że coś się dzieje w grze.

104
00:06:07,870 --> 00:06:11,860
‫W następnym wykładzie przyjrzymy się dodawaniu efektów cząsteczkowych właśnie w tym celu.

105
00:06:12,250 --> 00:06:12,940
‫Zobaczę cię tam.

