1
00:00:00,650 --> 00:00:05,970
Willkommen zurück meine Spieleentwickler zu einem brandneuen Video. 

2
00:00:05,969 --> 00:00:11,629
Und in diesem haben wir unsere Feinde tatsächlich leicht dämlich gemacht. 

3
00:00:11,625 --> 00:00:14,145
Obwohl er schießen kann,

4
00:00:14,145 --> 00:00:18,705
aber nur das kleine Problem ist, dass er sich selbst erschießt,

5
00:00:18,705 --> 00:00:20,445
was manchmal gut ist,

6
00:00:20,445 --> 00:00:22,425
besonders wenn er ein sehr harter Feind ist. 

7
00:00:22,425 --> 00:00:25,235
Aber in unserem Fall werden wir es später beheben. 

8
00:00:25,230 --> 00:00:27,930
Aber im Moment müssen Sie nur wissen, dass wir die Zeit zwischen den Schüssen zum Beispiel auf drei
 ändern können

9
00:00:27,930 --> 00:00:31,330
. 

10
00:00:31,330 --> 00:00:33,410
Und du siehst, dass es drei Sekunden dauert, um zu schießen,

11
00:00:33,410 --> 00:00:35,660
aber das machen wir nicht mit einem Zähler. 

12
00:00:35,660 --> 00:00:38,990
Wir tun das mit etwas, das als Co-Routine bezeichnet wird,

13
00:00:38,990 --> 00:00:46,120
was sehr schwer erschreckend ist, aber glaubwürdig mächtiges Werkzeug ist, um in Unity zu lernen. 

14
00:00:46,115 --> 00:00:50,245
Also brauche ich deine Konzentration und deine volle Aufmerksamkeit. 

15
00:00:50,240 --> 00:00:55,890
Verschwenden wir keine Zeit mehr und fangen wir an. 

16
00:00:55,990 --> 00:01:02,930
Okay, also Zeit, unserem Feind die Möglichkeit zu geben, den Spieler zu erschießen

17
00:01:02,930 --> 00:01:05,420
oder zumindest den Spieler anzugreifen. 

18
00:01:05,420 --> 00:01:10,460
Wir haben zwei verschiedene Arten von Angriffen, die wir in unserem Spiel implementieren werden. 

19
00:01:10,460 --> 00:01:11,990
Einer von ihnen wird der Malaier sein,

20
00:01:11,990 --> 00:01:15,190
einer von ihnen wird einfach aus der Ferne schießen oder

21
00:01:15,185 --> 00:01:19,235
das Schwert und die Skelette
 werfen. 

22
00:01:19,235 --> 00:01:22,615
Aber wir werden uns vorerst mehr auf das Schießen aus
 der Ferne konzentrieren

23
00:01:22,610 --> 00:01:25,960
und später Nahkampfangriffe durchführen. 

24
00:01:25,955 --> 00:01:27,595
Vielleicht in einem anderen Abschnitt,

25
00:01:27,590 --> 00:01:31,570
könnte es in der Boss-Abteilung sein, wo wir das riesige Skelett haben. 

26
00:01:31,565 --> 00:01:33,545
Okay, damit das aus dem Weg ist,

27
00:01:33,545 --> 00:01:35,065
lass uns loslegen und loslegen. 

28
00:01:35,060 --> 00:01:38,350
Das erste, was wir tun werden, ist, dass wir

29
00:01:38,345 --> 00:01:42,195
ein paar Variablen und den Fall des gegnerischen Controllers 0
 erstellen. 

30
00:01:42,190 --> 00:01:45,970
Also werden wir in den feindlichen Controller gehen. 

31
00:01:45,965 --> 00:01:49,865
Und hier werden wir ein paar Variablen erstellen. 

32
00:01:49,865 --> 00:01:55,145
Vor dem Todesspritzer hier werden
 wir also

33
00:01:55,145 --> 00:01:58,225
einen Angriff hinzufügen,

34
00:01:58,220 --> 00:02:03,710
nur ein üblicher, damit wir wissen, was alles ist und es wird ein serialisiertes Feld
 vom Typ Boolean sein

35
00:02:03,710 --> 00:02:09,400
und es wird ein Nahkampfangriff sein. 

36
00:02:09,395 --> 00:02:11,585
Wenn es sich also um einen Nahkampfangreifer handelt,

37
00:02:11,585 --> 00:02:15,635
werden
 wir ihn im Inspektor überprüfen und es wird im Nahkampf angreifen. 

38
00:02:15,635 --> 00:02:18,505
Dann werden wir ein serialisiertes Feld erstellen,

39
00:02:18,500 --> 00:02:25,040
das ein Spielobjekt sein wird und es wird das feindliche Projektil sein. 

40
00:02:25,040 --> 00:02:30,460
Das wird der Feind ihm also aus der Hand werfen, wenn er schießt. 

41
00:02:30,455 --> 00:02:34,945
Schließlich werden wir einen Transformationspunkt erstellen. 

42
00:02:34,940 --> 00:02:38,180
Oh, tut mir leid, Feuerposition. 

43
00:02:38,180 --> 00:02:41,110
Okay, jetzt haben wir das Projektil. 

44
00:02:41,105 --> 00:02:43,435
Wir werden eine Aktenposition erstellen. 

45
00:02:43,430 --> 00:02:49,180
Und wir wollen auch eine Zeit zwischen den Schüssen haben, die der Feind macht. 

46
00:02:49,175 --> 00:02:51,965
Es ist also ähnlich wie wir mit unserer Waffe umgegangen sind. 

47
00:02:51,965 --> 00:02:56,755
Also schweben Sie Zeit zwischen den Schüssen. 

48
00:02:56,750 --> 00:03:04,520
Und schließlich werden wir einen privaten Bool erstellen, der bereit ist zu schießen. 

49
00:03:04,520 --> 00:03:06,380
Was passiert hier? 

50
00:03:06,380 --> 00:03:09,010
Wenn wir bereit sind zu schießen, schießt der Feind,

51
00:03:09,005 --> 00:03:12,715
und jedes Mal, wenn er schießt, und zwischen den Zeitschüssen wird berechnet. 

52
00:03:12,710 --> 00:03:14,270
Also haben wir das benutzt,

53
00:03:14,270 --> 00:03:16,730
ich glaube den Zähler. 

54
00:03:16,730 --> 00:03:20,180
Wir haben einen Zähler erstellt, bei dem wir die Zeit herunterzählen, bis

55
00:03:20,180 --> 00:03:24,290
wir eine gewisse Zeit zwischen den Schüssen beendet haben, wenn es fertig ist,

56
00:03:24,290 --> 00:03:25,900
dann können wir ihn erneut zeigen. 

57
00:03:25,895 --> 00:03:27,545
Das war ein alter Weg. 

58
00:03:27,545 --> 00:03:30,545
Jetzt werden wir etwas benutzen, das als Co-Routine bezeichnet wird. 

59
00:03:30,545 --> 00:03:34,105
Bevor ich das mache und dir Coroutinen vorstelle,

60
00:03:34,100 --> 00:03:38,390
lass mich zuerst die bereit machen, hier zu schießen. 

61
00:03:38,390 --> 00:03:40,280
Wann immer der Feind anfängt,

62
00:03:40,280 --> 00:03:42,950
ist
 er bereit zu schießen und zu aktualisieren. 

63
00:03:42,950 --> 00:03:47,510
Wir werden weitermachen und hier etwas schaffen, was eine Bedingung ist. 

64
00:03:47,509 --> 00:03:50,829
Und wenn der malaiische Angreifer

65
00:03:50,824 --> 00:03:54,484
oder wenn wir kein bloßer Angreifer sind, sind wir es nicht. 

66
00:03:54,485 --> 00:03:59,305
Wenn wir das Ausrufezeichen wieder setzen und wir sind bereit zu schießen. 

67
00:03:59,300 --> 00:04:03,050
Was wir dann tun werden, ist, dass wir weitermachen

68
00:04:03,050 --> 00:04:07,040
und sagen, dass wir bereit sind, als falsch zu schießen. 

69
00:04:07,039 --> 00:04:11,859
Und dann beginnen wir hier drin mit einer Beschichtung. 

70
00:04:11,854 --> 00:04:14,364
Was ist eine Co-Routine? 

71
00:04:14,359 --> 00:04:16,179
Warum brauchen wir es hier drin? 

72
00:04:16,175 --> 00:04:19,055
Lassen Sie uns eine kleine Erklärung haben. 

73
00:04:19,055 --> 00:04:21,715
Was ist ein Coltan? 

74
00:04:21,710 --> 00:04:25,970
Eine Co-Routine ist eine Methode, die die Ausführung von
 Anweisungen aussetzen kann

75
00:04:25,970 --> 00:04:32,260
, bis eine bestimmte Bedingung oder bestimmte Bedingungen erfüllt sind. 

76
00:04:32,255 --> 00:04:36,025
Diese Suspensionen werden als Rendite bezeichnet. 

77
00:04:36,020 --> 00:04:37,730
Und in unserem Beispiel
 wird die Zeit aussetzen,

78
00:04:37,730 --> 00:04:42,950
bis unser Feind bereit ist, wieder zu schießen. 

79
00:04:42,950 --> 00:04:46,880
Gehen wir also zurück zu unserem Code und sehen, was das alles bedeutet. 

80
00:04:46,880 --> 00:04:48,460
Also, was wir haben,

81
00:04:48,455 --> 00:04:51,605
checken
 wir das Update ein, das jeden einzelnen Frame genannt wird. 

82
00:04:51,605 --> 00:04:57,485
Wir prüfen, ob wir keinen Angreifer zielen, und wir sind bereit zu schießen,

83
00:04:57,485 --> 00:04:59,665
dann bereit zu schießen, auf false gesetzt. 

84
00:04:59,660 --> 00:05:04,430
Und zum Beispiel werden wir hier die Kugel schießen. 

85
00:05:04,430 --> 00:05:07,600
Aber was wir wollen, genau wie wir in der Theke hatten,

86
00:05:07,595 --> 00:05:12,235
wollen
 wir nach einer gewissen Zeit schießen können. 

87
00:05:12,230 --> 00:05:15,760
Auch hier haben wir diesen Wert auf false gesetzt, weil wir nicht
 jedem einzelnen Bild eine Kugel abschießen wollen

88
00:05:15,755 --> 00:05:19,555
und Unmengen von Kugeln haben wollen. 

89
00:05:19,550 --> 00:05:23,530
Die Art und Weise, wie wir das beheben, besteht darin, eine Co-Routine zu verwenden. 

90
00:05:23,525 --> 00:05:26,395
Lassen Sie mich also einfach weitermachen und erstellen Sie eine Coroutine genau

91
00:05:26,390 --> 00:05:30,520
hier wird vom Typ Eye Enumerator sein. 

92
00:05:30,515 --> 00:05:34,675
Sie müssen sich keine großen Sorgen darüber machen, was unser Enumerator ist, wissen Sie
 nur,

93
00:05:34,670 --> 00:05:38,420
dass es sich um die Art von Beschichtungen handelt. 

94
00:05:38,420 --> 00:05:45,970
Wir werden den Namen der Coroutine als Feuerfeind erstellen, Projektil. 

95
00:05:45,965 --> 00:05:53,045
Ich öffne die Klammern und wir werden die Zeit aussetzen. 

96
00:05:53,045 --> 00:05:55,865
Also sage ich diese Ausbeute. 

97
00:05:55,865 --> 00:05:58,835
Okay, Fokus, Rendite. 

98
00:05:58,835 --> 00:06:00,785
Das bedeutet, dass wir suspendieren. 

99
00:06:00,785 --> 00:06:04,205
Kehre zurück. Neu. 

100
00:06:04,205 --> 00:06:07,735
Warte vier Sekunden. 

101
00:06:07,730 --> 00:06:09,890
Ich öffne die Klammern. 

102
00:06:09,890 --> 00:06:15,340
Und wie viele Sekunden wollen wir als Zeit zwischen den Schüssen wiegen? 

103
00:06:15,335 --> 00:06:23,095
Und danach können wir fortfahren und die Kugel instanziieren oder das Projektil instanziieren,

104
00:06:23,090 --> 00:06:25,520
das ist das Projektil,
 feindliche Projektil,

105
00:06:25,520 --> 00:06:29,690
wo an der Fünf-Position instanziiert wird,

106
00:06:29,690 --> 00:06:35,810
diese Position und die Position außer Rho-Station. 

107
00:06:35,810 --> 00:06:40,630
Und was wir dann tun können, ist, den Rückschuss auf wahr zu setzen. 

108
00:06:40,625 --> 00:06:42,985
Und jetzt können wir es noch einmal zeigen. 

109
00:06:42,980 --> 00:06:44,530
Kompliziert, nicht wahr? 

110
00:06:44,525 --> 00:06:46,085
Ich weiß es weniger erklären. 

111
00:06:46,085 --> 00:06:47,785
Oh, und bevor ich es vergesse,

112
00:06:47,780 --> 00:06:50,660
und hier nach dem Dreh

113
00:06:50,660 --> 00:06:52,900
beginnen
 wir die Co-Routine,

114
00:06:52,895 --> 00:06:56,635
die das fernfeindliche Projektil ist. 

115
00:06:56,630 --> 00:06:59,000
Okay, jetzt bist du noch verwirrter. 

116
00:06:59,000 --> 00:07:02,050
Versuchen wir es noch einmal und aktualisieren Sie es. 

117
00:07:02,045 --> 00:07:05,755
Was haben wir jedes einzelne Frame-Update als kalt,

118
00:07:05,750 --> 00:07:08,780
wir haben all diese Aussagen genau hier, die wir

119
00:07:08,780 --> 00:07:12,080
nur ein bisschen in Methoden umwandeln
 werden. 

120
00:07:12,080 --> 00:07:14,210
Aber worauf wir uns konzentrieren, ist hier,

121
00:07:14,210 --> 00:07:18,440
wenn wir kein Nahkampfangreifer sind und bereit sind zu schießen,

122
00:07:18,440 --> 00:07:19,660
dann bereit zu schießen,

123
00:07:19,655 --> 00:07:22,625
auf falsch
 gesetzt und wir starten einen Colton. 

124
00:07:22,625 --> 00:07:24,325
Was passiert hier drin,
 bereit,

125
00:07:24,320 --> 00:07:26,260
einen Satz auf falsch zu schießen? 

126
00:07:26,255 --> 00:07:31,015
Das bedeutet, dass diese Methode oder diese Bedingung genau hier falsch ist. 

127
00:07:31,010 --> 00:07:33,830
Also schießen wir nicht jedes einzelne Frame wieder. 

128
00:07:33,830 --> 00:07:35,630
Deshalb haben wir es auf „false“ gesetzt. 

129
00:07:35,630 --> 00:07:38,360
Aber wie werden wir es wieder wahr machen? 

130
00:07:38,360 --> 00:07:41,030
haben wir früher mit dem Zähler gemacht. 

131
00:07:41,030 --> 00:07:43,670
Jetzt verwenden wir etwas eine Beschichtung. 

132
00:07:43,669 --> 00:07:45,199
Und genau wie gesagt,

133
00:07:45,200 --> 00:07:47,860
heißt
 Co-Routine „Verwenden von Start Coroutine“. 

134
00:07:47,855 --> 00:07:51,745
Du gibst den Namen hier rein und nennst ihn „I Enumerator“. 

135
00:07:51,740 --> 00:07:54,560
Keine Sorge. Mach dir darüber keine Sorgen. Vorerst. 

136
00:07:54,560 --> 00:07:57,190
Du willst tiefer damit eintauchen? Sei mein Gast. 

137
00:07:57,185 --> 00:08:00,055
Man muss nicht genau wissen, was das bedeutet. 

138
00:08:00,050 --> 00:08:01,930
Wir haben das fernfeindliche Projektil,

139
00:08:01,925 --> 00:08:04,495
dann haben wir diese Erweiterung, die Ertrag ist. 

140
00:08:04,490 --> 00:08:08,180
Dann haben wir die Rückkehr neu, warte vier Sekunden. 

141
00:08:08,180 --> 00:08:10,700
Da wir also einen Ionenzähler haben,

142
00:08:10,700 --> 00:08:15,230
müssen
 wir vier Sekunden ein neues Gewicht zurückgeben. Was macht das? 

143
00:08:15,230 --> 00:08:19,160
Genau wie es heißt, wartet es einige Sekunden, also

144
00:08:19,160 --> 00:08:21,110
die Zeit zwischen den Schüssen. 

145
00:08:21,110 --> 00:08:23,530
Und nachdem es darauf gewartet hat
,

146
00:08:23,525 --> 00:08:27,125
instanziieren wir das feindliche Projektil. 

147
00:08:27,125 --> 00:08:32,005
Feind schießt, und er ist bereit, immer wieder zu schießen. 

148
00:08:32,000 --> 00:08:34,360
Was passiert hier drin? 

149
00:08:34,355 --> 00:08:35,785
Zuallererst fangen wir an,

150
00:08:35,780 --> 00:08:38,210
wir haben die bereit, auf wahr zu schießen. 

151
00:08:38,210 --> 00:08:39,850
sollten wir. 

152
00:08:39,845 --> 00:08:42,265
Es ist falsch, wir schießen nicht mehr. 

153
00:08:42,260 --> 00:08:45,350
Und wenn die Zeit zwischen den Schüssen endet,

154
00:08:45,350 --> 00:08:50,120
werfen
 wir das Projektil und dann sind wir bereit, wieder zu schießen. 

155
00:08:50,120 --> 00:08:52,960
Testen wir das und sehen, wie es funktioniert. 

156
00:08:52,955 --> 00:08:55,255
Ich gehe zurück nach Unity. 

157
00:08:55,250 --> 00:09:00,500
Ich werde sehen, wo wir eigentlich unser Messer haben 0. 

158
00:09:00,500 --> 00:09:01,760
Also haben wir kein Messer. 

159
00:09:01,760 --> 00:09:05,780
Was wir also tun werden, ist, dass wir einfach die Kugel benutzen, die wir bereits haben. 

160
00:09:05,780 --> 00:09:08,090
In den Prefabs haben
 wir also

161
00:09:08,090 --> 00:09:09,800
die Spielerhefte. 

162
00:09:09,800 --> 00:09:12,650
Benutze das jetzt einfach, die Feuerposition,

163
00:09:12,650 --> 00:09:14,860
lass mich mit der rechten Maustaste hinzufügen,

164
00:09:14,855 --> 00:09:16,775
ein leeres Spielobjekt
 erstellen. 

165
00:09:16,775 --> 00:09:19,265
Und ich setze es genau hier hin,

166
00:09:19,265 --> 00:09:20,815
läuft fast genau hier. 

167
00:09:20,810 --> 00:09:28,370
Dies wird also die Feuerposition auf den Feind sein. 

168
00:09:28,370 --> 00:09:30,710
Wir geben ihm die zwischen den Schüssen
 definierte FAR-Position

169
00:09:30,710 --> 00:09:33,730
, die 1 Sekunde betragen würde. Das werden wir speichern. 

170
00:09:33,725 --> 00:09:42,025
Und jetzt werden wir sicherstellen, dass er kein Angreifer ist. 

171
00:09:42,020 --> 00:09:44,770
Lass uns das Spiel starten und sehen, was passiert. 

172
00:09:44,765 --> 00:09:47,185
Also jetzt gehst du los. 

173
00:09:47,180 --> 00:09:49,820
Sie können sehen, dass er die Kugel instanziiert,

174
00:09:49,820 --> 00:09:53,930
aber er schießt sich selbst und ins Gesicht. 

175
00:09:53,930 --> 00:09:55,910
Wenn ich das also für eine Sekunde pausiere,

176
00:09:55,910 --> 00:09:57,530
kannst
 du sehen,
 dass die Fünf-Position

177
00:09:57,530 --> 00:09:59,450
so gerichtet wird. 

178
00:09:59,450 --> 00:10:05,660
Und wir wissen, dass die Spielerkugel nur in die richtige Richtung gereist ist ist. 

179
00:10:05,660 --> 00:10:07,100
Ich weiß, dass es irgendwie witzig ist. 

180
00:10:07,100 --> 00:10:09,440
Versuchen wir es auf andere Weise. 

181
00:10:09,440 --> 00:10:11,060
Aber auf jeden Fall

182
00:10:11,060 --> 00:10:15,350
wir uns darüber vorerst keine Sorgen, denn im nächsten Video werden wir

183
00:10:15,350 --> 00:10:21,110
richtige feindliche Kugeln
 schaffen, die tatsächlich weit auf den Spieler zugehen oder nicht. 

184
00:10:21,110 --> 00:10:23,330
Sogar Kugeln werden das Projektil erzeugen,

185
00:10:23,330 --> 00:10:25,480
das das neunte des Feindes ist. 

186
00:10:25,475 --> 00:10:29,315
Er wird es als Spieler werfen und sich nicht selbst erschießen. 

187
00:10:29,315 --> 00:10:33,655
Aber Sie können jetzt sehen, dass dies mit dem Colton funktioniert. 

188
00:10:33,650 --> 00:10:36,410
Wenn ich hier wieder auf den Feind klicke,

189
00:10:36,410 --> 00:10:40,000
kannst
 du sehen, dass ich die Zeit zwischen den Schüssen auf 2 erhöhen kann. 

190
00:10:39,995 --> 00:10:43,795
Jetzt haben wir alle zwei Sekunden diesen Angriff. 

191
00:10:43,790 --> 00:10:46,370
Ich hoffe, dir hat das Video gefallen. 

192
00:10:46,370 --> 00:10:49,100
Ich weiß, dass der Schießmechaniker nicht perfekt ist,

193
00:10:49,100 --> 00:10:51,740
aber wie ich im nächsten Video sagte,

194
00:10:51,740 --> 00:10:53,410
werden
 wir bessere Kugeln erstellen. 

195
00:10:53,405 --> 00:10:56,985
Ich hoffe, Sie begehen alle Ihre Änderungen. 

196
00:10:56,989 --> 00:11:01,659
Und im nächsten Video machen wir richtige feindliche Kugeln,

197
00:11:01,655 --> 00:11:03,685
Heiden oder wie auch immer du es nennen willst. 

198
00:11:03,680 --> 00:11:06,180
Also sehe ich dich dann. 

