1
00:00:00,000 --> 00:00:04,160
Willkommen zurück, meine Spieleentwickler. 

2
00:00:04,155 --> 00:00:08,045
In diesem Video werden wir ein automatisches Brennen hinzufügen. 

3
00:00:08,040 --> 00:00:11,600
Sie können also genau hier sehen, dass wir eine Zeit zwischen den Schüssen haben. 

4
00:00:11,595 --> 00:00:14,195
Wie viel Zeit willst du zwischen den Aufnahmen? Ich höre dich. 

5
00:00:14,190 --> 00:00:15,770
Du willst 0.5 sagen? 

6
00:00:15,765 --> 00:00:17,595
Okay, Sir, da sind Sie los. 

7
00:00:17,595 --> 00:00:18,615
Wir spielen Run. 

8
00:00:18,615 --> 00:00:19,995
Wir hatten den Play-Button. 

9
00:00:19,995 --> 00:00:21,515
Wir führen den Gewinn

10
00:00:21,510 --> 00:00:24,390
und halten die linke Maustaste gedrückt. 

11
00:00:24,390 --> 00:00:27,480
Und da gehst du. Sie können sehen, dass wir

12
00:00:27,480 --> 00:00:31,080
jeden einzelnen Frame sollten und Sie können sehen, dass sie sehr konsistent sind. 

13
00:00:31,080 --> 00:00:35,180
Also spiele ich kein Spiel und hier halte ich den Knopf gedrückt und er

14
00:00:35,175 --> 00:00:39,855
feuert alle 0,5 Sekunden oder jede Sekunde,

15
00:00:39,855 --> 00:00:41,335
wir feuern weiter in der Lage. 

16
00:00:41,335 --> 00:00:43,405
Verschwenden wir also keine Zeit mehr. 

17
00:00:43,400 --> 00:00:46,420
Wir werden etwas über Zähler lernen. 

18
00:00:46,415 --> 00:00:48,955
Und lasst uns anfangen. 

19
00:00:48,950 --> 00:00:50,750
O k.

20
00:00:50,750 --> 00:00:53,440
Wir möchten
 also die Möglichkeit haben, Kugeln
 automatisch abzufeuern

21
00:00:53,435 --> 00:00:58,135
, wenn die Maustaste gedrückt gehalten wird. 

22
00:00:58,130 --> 00:01:01,190
Also, wann immer wir den Knopf drücken,

23
00:01:01,190 --> 00:01:03,020
sobald wir schießen können,

24
00:01:03,020 --> 00:01:05,200
aber was wir wollen, ist eine Art
 automatisches Schießen zu haben

25
00:01:05,195 --> 00:01:08,935
, während wir den Knopf gedrückt halten,

26
00:01:08,930 --> 00:01:11,060
genau wie ein Gewehr,

27
00:01:11,060 --> 00:01:14,180
obwohl wir es sind Mit einer Schrotflinte genau hier

28
00:01:14,180 --> 00:01:18,470
nutzen
 wir einfach unsere Fantasie und stellen uns vor, dass dies eine automatische Schrotflinte ist. 

29
00:01:18,470 --> 00:01:22,570
Und während wir den Knopf gedrückt halten, feuert er weiter. 

30
00:01:22,565 --> 00:01:25,685
Wie werden wir das machen? 

31
00:01:25,685 --> 00:01:27,685
Wenn Sie gerade hier hinschauen, können
 Sie sehen,

32
00:01:27,680 --> 00:01:29,350
dass diese Methode,

33
00:01:29,345 --> 00:01:31,085
die Schaltfläche „Maustaste abrufen“, während des Frames,

34
00:01:31,085 --> 00:01:36,355
den der Benutzer mit der angegebenen Maustaste gedrückt hat, einen True
 zurückgibt. 

35
00:01:36,350 --> 00:01:39,980
Es gibt also nur einmal wahr zurück

36
00:01:39,980 --> 00:01:43,790
, wenn
 der Player oder der Benutzer die Taste gedrückt hat. 

37
00:01:43,790 --> 00:01:49,060
Was wir wollen, ist, dass wir etwas verwenden möchten, das als Eingabepunkt get-Maustaste bezeichnet wird. 

38
00:01:49,055 --> 00:01:52,525
Beachten Sie also, dass dies mit der Maustaste gedrückt war. 

39
00:01:52,520 --> 00:01:55,520
Dies ist die gekommene Maustaste. 

40
00:01:55,520 --> 00:01:57,050
Und wenn Sie die Beschreibung lesen,

41
00:01:57,050 --> 00:02:02,830
können
 Sie sehen, dass sie einen True zurückgibt, ob die angegebene Maustaste gedrückt gehalten wird. 

42
00:02:02,825 --> 00:02:05,005
Während wir also festhalten,

43
00:02:05,000 --> 00:02:06,640
wird dies immer wieder wahr. 

44
00:02:06,635 --> 00:02:12,055
Und dies wird es uns ermöglichen, immer wieder Kugeln zu instanziieren, in jedem einzelnen Frame. 

45
00:02:12,050 --> 00:02:15,230
Aber wir stoßen auf ein Problem. 

46
00:02:15,230 --> 00:02:17,620
Du hast bemerkt, dass wir, wenn wir das Spiel starten,

47
00:02:17,615 --> 00:02:20,585
wenn du dich erinnerst, die Statistiken genau hier sehen können. 

48
00:02:20,585 --> 00:02:25,795
Wir haben also etwa 800 bis tausend Bilder pro Sekunde. 

49
00:02:25,790 --> 00:02:27,670
Bei jedem einzelnen Frame,

50
00:02:27,665 --> 00:02:30,145
während wir die Maustaste gedrückt halten,

51
00:02:30,140 --> 00:02:32,930
werden
 wir eine Kugel instanziieren,

52
00:02:32,930 --> 00:02:34,400
was sehr schlecht ist. 

53
00:02:34,400 --> 00:02:38,740
Wir werden also jede Sekunde rund die 1000 Kugeln haben. 

54
00:02:38,735 --> 00:02:39,985
Jetzt macht es Spaß. 

55
00:02:39,980 --> 00:02:41,920
Es ist eine sehr OOP-Waffe,

56
00:02:41,915 --> 00:02:43,955
aber das wollen wir nicht. 

57
00:02:43,955 --> 00:02:47,515
Wir wollen eine gewisse Zeit zwischen dem
 Abfeuern jedes Buches haben

58
00:02:47,510 --> 00:02:52,360
, während wir uns wie eine echte Waffe festhalten. 

59
00:02:52,355 --> 00:02:53,665
Was ist hier wichtig? 

60
00:02:53,660 --> 00:02:54,770
Okay, also keine Sorge. 

61
00:02:54,770 --> 00:02:57,590
Ich denke, das wird sich von selbst klären. Wie auch immer. 

62
00:02:57,590 --> 00:02:58,580
Fangen wir an. 

63
00:02:58,580 --> 00:03:02,230
Das erste, was wir tun werden, ist, dass wir ein serialisiertes Feld erstellen,

64
00:03:02,225 --> 00:03:04,265
das ein Float sein wird,

65
00:03:04,265 --> 00:03:08,685
und es wird die Zeit zwischen den Schüssen sein. 

66
00:03:08,689 --> 00:03:17,569
Eine zweite Variable, die wir als privaten Float und den Schusszähler haben werden. 

67
00:03:17,570 --> 00:03:20,950
Und was wir tun werden, ist, sobald wir anfangen,

68
00:03:20,945 --> 00:03:25,645
werden
 wir den Schusszähler auf 0 einstellen,

69
00:03:25,640 --> 00:03:30,850
oder wir können ihn sofort hier einsetzen, anstatt ihn und den Start einzustellen. 

70
00:03:30,845 --> 00:03:33,215
Also fangen wir bei 0 an. 

71
00:03:33,215 --> 00:03:35,435
Wenn wir jetzt hier nach unten scrollen,

72
00:03:35,435 --> 00:03:38,905
werden
 wir eine andere Bedingung schaffen. 

73
00:03:38,900 --> 00:03:47,220
Und wir werden sagen, wenn der Eingabepunkt die Maustaste bekommt,

74
00:03:47,224 --> 00:03:51,564
die zurückgibt, ob die angegebene Modi-Taste gedrückt gehalten wird. 

75
00:03:51,560 --> 00:03:56,030
Und wir verwenden auch den Index 0 für die linke Maustaste. 

76
00:03:56,030 --> 00:04:00,620
Wir werden anfangen, den Schusszähler zu benutzen und

77
00:04:00,620 --> 00:04:06,250
die Zeitpunkt-Delta-Zeit daraus zu
 entfernen. 

78
00:04:06,245 --> 00:04:10,015
Erinnern Sie sich also, wann wir das Plus
 irgendwo hier oben verwenden

79
00:04:10,010 --> 00:04:13,790
, als wir die Transformation verwendet haben,

80
00:04:13,790 --> 00:04:14,960
jetzt haben wir es nicht. 

81
00:04:14,960 --> 00:04:17,690
Nun, das ist ähnlich wie das Plus ist gleich. 

82
00:04:17,690 --> 00:04:24,010
Dies stellt also den Schusszähler minus time.Deltatime dar. 

83
00:04:24,005 --> 00:04:28,135
Und weißt du was, ich werde das duplizieren, kommentiere das. 

84
00:04:28,130 --> 00:04:33,320
Und dann mache ich das zu einem Minuss gleich. 

85
00:04:33,320 --> 00:04:36,830
Sie werden sich also daran erinnern, dass es sich um dieselben Dinge handelt. 

86
00:04:36,830 --> 00:04:42,170
Und ich schiebe es sogar direkt hier neben der Linie nach unten. 

87
00:04:42,170 --> 00:04:46,790
Sie können dies als Erinnerung daran behalten, warum wir Minus gleich setzen,

88
00:04:46,790 --> 00:04:48,880
plus Gleiche und all diese Dinge. 

89
00:04:48,875 --> 00:04:52,975
Es ist viel einfacher zu lesen und es ist viel cooler

90
00:04:52,970 --> 00:04:54,890
und wird Sie viel professioneller
 aussehen lassen

91
00:04:54,890 --> 00:04:57,050
, wenn wir jemandem Ihr Spiel zeigen. 

92
00:04:57,050 --> 00:04:59,000
Also lasst uns eins fortsetzen,

93
00:04:59,000 --> 00:05:00,440
was brauchen wir hier drin? 

94
00:05:00,440 --> 00:05:02,750
Während wir die Maustaste gedrückt halten,

95
00:05:02,750 --> 00:05:06,160
wird
 der Schusszähler heruntergezählt. 

96
00:05:06,155 --> 00:05:12,085
Was wir also wollen, ist, wann immer dieser Schusszähler endet oder 0 wird,

97
00:05:12,080 --> 00:05:15,040
wir eine Kugel abfeuern und dann den Schusszähler wieder auf die Zeit zwischen den Schüssen
 aktualisieren möchten

98
00:05:15,035 --> 00:05:19,625
. 

99
00:05:19,625 --> 00:05:22,525
Wie werden wir das machen? 

100
00:05:22,520 --> 00:05:25,150
Anstatt sofort zu instanziieren,

101
00:05:25,145 --> 00:05:27,575
ich eine Herausforderung an. 

102
00:05:27,575 --> 00:05:29,945
War das ein besserer Übergang als beim letzten Mal? 

103
00:05:29,945 --> 00:05:33,875
Wie auch immer, Ihre Herausforderung besteht darin, zu überprüfen, ob der Zähler hat,

104
00:05:33,875 --> 00:05:39,045
und so eine If-Bedingung zu erstellen, die den Schusszähler überprüft. 

105
00:05:39,049 --> 00:05:43,489
Wenn der Schusszähler kleiner oder gleich 0 ist,

106
00:05:43,490 --> 00:05:45,530
warum ist er kleiner oder gleich 0? 

107
00:05:45,530 --> 00:05:48,770
Du fragst dich vielleicht warum nicht sofort 0? 

108
00:05:48,770 --> 00:05:51,600
Nun, weil wir zählen. 

