1
00:00:00,200 --> 00:00:04,740
Willkommen zurück meine Spieleentwickler zu einem brandneuen Video. 

2
00:00:04,740 --> 00:00:06,000
Und in diesem Video,

3
00:00:06,000 --> 00:00:07,590
wenn wir unser Spiel ausführen,

4
00:00:07,590 --> 00:00:09,380
wenn wir auf den Feind klicken,

5
00:00:09,375 --> 00:00:12,515
werden
 Sie feststellen, dass er hier eine zusätzliche Variable hat,

6
00:00:12,510 --> 00:00:16,140
nämlich die feindliche Gesundheit und Phi schießt ihn mit ein paar Kugeln. 

7
00:00:16,140 --> 00:00:20,510
Beachten Sie, wie sich sein Gesundheitszustand von 100 auf 40 verschlechtert. 

8
00:00:20,505 --> 00:00:28,895
Und wenn ich ihn immer wieder von 40 auf 0 erschieße und er verschwindet, weil er tot ist. 

9
00:00:28,890 --> 00:00:32,310
Also werden wir in diesem Video eine Menge Dinge lernen. 

10
00:00:32,310 --> 00:00:36,780
Zieh deine Denkkappen an und lass uns anfangen. 

11
00:00:36,775 --> 00:00:44,345
Oh, okay, jetzt ist es an der Zeit, unsere Feinde mit der Methode zu beschädigen. 

12
00:00:44,345 --> 00:00:48,775
Das erste, was wir tun werden, ist, dass wir eine Möglichkeit schaffen

13
00:00:48,770 --> 00:00:53,650
zu erhöhen oder die Gesundheit von unserem Feind zu entfernen. 

14
00:00:53,645 --> 00:00:56,815
Also gehe ich in den feindlichen Controller. 

15
00:00:56,810 --> 00:01:00,200
Und hier, Lasst uns Visual Studio öffnen. 

16
00:01:00,200 --> 00:01:06,530
Und ich werde eine ganzzahlige Variable erstellen, die die Gesundheit des Feindes darstellt. 

17
00:01:06,530 --> 00:01:08,030
Warum ist es eine Ganzzahl? 

18
00:01:08,030 --> 00:01:10,010
Nun, weil wir die Dinge einfach halten wollen. 

19
00:01:10,010 --> 00:01:11,990
Wir wollen nicht, dass es ein Schwimmer wird. 

20
00:01:11,990 --> 00:01:15,380
Also füge ich es hier unter der Geschwindigkeit hinzu. 

21
00:01:15,380 --> 00:01:20,110
Also erstellen wir ein serialisiertes Feld, das vom Typ Integer sein wird. 

22
00:01:20,105 --> 00:01:22,385
Und es wird „Gesundheit“ genannt. 

23
00:01:22,385 --> 00:01:25,315
Und ich werde es am Anfang auf 100 einstellen,

24
00:01:25,310 --> 00:01:28,780
also haben wir nie die Gesundheit bei 0. 

25
00:01:28,775 --> 00:01:32,885
Ich schaue zurück in den Inspektor und sehe, wie das aussieht. 

26
00:01:32,885 --> 00:01:36,445
Und sie jetzt, okay, großartig. 

27
00:01:36,440 --> 00:01:42,670
Jetzt können Sie sehen, dass ich hier die Möglichkeit habe, die Gesundheit unseres Feindes zu verändern. 

28
00:01:42,665 --> 00:01:47,995
Nun, wie werden wir sicherstellen, dass
 wir jedes Mal, wenn der Feind getroffen wird,

29
00:01:47,990 --> 00:01:50,720
ein Gesundheitsgesetz entfernen. 

30
00:01:50,720 --> 00:01:55,130
Dafür werden wir eine Methode erstellen. Was sind Methoden? 

31
00:01:55,130 --> 00:01:57,910
Nun, du hast schon gesehen, wie ich Methoden erstelle. 

32
00:01:57,905 --> 00:01:59,725
Das Update ist eine Methode. 

33
00:01:59,720 --> 00:02:05,380
Wir beginnen als Methode und auch das Gizmo wählen als Methode aus. 

34
00:02:05,375 --> 00:02:12,725
Aber lassen Sie uns etwas tiefer in die tatsächliche Struktur einer Methode eintauchen und sehen, wie wir sie verwenden. 

35
00:02:12,725 --> 00:02:15,175
Lassen Sie mich also meinen Laser aufsetzen,

36
00:02:15,170 --> 00:02:17,530
und das ist die Methodenstruktur. 

37
00:02:17,525 --> 00:02:23,875
Es ähnelt also der Art und Weise, wie wir Variablen erstellen, da es eine Zugänglichkeit hat. 

38
00:02:23,870 --> 00:02:26,200
Also ein Zugriffstyp, was ist das? 

39
00:02:26,195 --> 00:02:28,315
Ist es ein Privat, ein Publikum? 

40
00:02:28,310 --> 00:02:30,590
Wir können es nicht zu einem serialisierten Feld machen,

41
00:02:30,590 --> 00:02:33,110
aber wir können entweder ein öffentliches Feld erstellen,

42
00:02:33,110 --> 00:02:37,940
was bedeutet, dass wir von überall in unseren Skripten und
 in anderen Skripten auf diese Methode zugreifen können

43
00:02:37,940 --> 00:02:39,160
. 

44
00:02:39,155 --> 00:02:45,475
Wenn es privat ist, können wir nur innerhalb der Klasse zugreifen, in der wir verwenden. 

45
00:02:45,470 --> 00:02:47,870
Dann haben wir den Rückgabetyp. 

46
00:02:47,870 --> 00:02:50,830
Zum Beispiel gibt void zurück, nichts. 

47
00:02:50,825 --> 00:02:52,475
Was ist ein Rückgabetyp? 

48
00:02:52,475 --> 00:02:53,935
Während wir den Kurs durchlaufen,

49
00:02:53,930 --> 00:02:56,570
werden
 Sie alle verschiedenen Rückgabetypen verstehen. 

50
00:02:56,570 --> 00:03:01,960
Dies bedeutet jedoch, dass wir tatsächlich einen Wert von dieser Methode zurückgeben können. 

51
00:03:01,955 --> 00:03:03,635
Wenn es nichts zurückgibt, bedeutet
 das,

52
00:03:03,635 --> 00:03:05,345
dass es ungültig ist. 

53
00:03:05,345 --> 00:03:08,015
Lassen Sie mich Ihnen zum Beispiel hier drin zeigen. 

54
00:03:08,015 --> 00:03:11,245
Dies ist eine Lücke, da wir keinen Wert zurückgeben. 

55
00:03:11,240 --> 00:03:14,660
Wir erwarten nicht, dass später ein Wert
 von dieser Methode zurückgegeben wird

56
00:03:14,660 --> 00:03:18,980
, wenn wir eine Methode haben, die etwas zurückgibt

57
00:03:18,980 --> 00:03:21,580
Vielleicht werde ich darauf hinweisen, dass Sie darauf hinweisen. 

58
00:03:21,575 --> 00:03:24,425
Als Nächstes haben wir den Methodennamen. 

59
00:03:24,425 --> 00:03:27,055
Wenn Sie also eine Methode benennen möchten, müssen
 Sie sie normalerweise

60
00:03:27,050 --> 00:03:30,580
nach dem benennen, was diese Methode tatsächlich tut. 

61
00:03:30,575 --> 00:03:34,805
Und Sie können feststellen, wie wir den Namen einer Methode erstellen. 

62
00:03:34,805 --> 00:03:41,605
Im Gegensatz zu den Variablen muss das erste Wort immer in der unteren Klasse sein,

63
00:03:41,600 --> 00:03:45,530
oder der erste Buchstabe des ersten Wortes muss niedriger sein. 

64
00:03:45,530 --> 00:03:47,410
In einem Methodennamen

65
00:03:47,405 --> 00:03:51,425
müssen
 alle Wörter innerhalb des Methodennamens groß geschrieben werden. 

66
00:03:51,425 --> 00:03:53,855
Sie können also sehen, dass die Geschwindigkeit hinzugefügt wird,

67
00:03:53,855 --> 00:03:56,065
also ist diese Methode eine private Methode,

68
00:03:56,060 --> 00:03:58,550
daher verwenden wir sie nur in einer Klassenlücke. 

69
00:03:58,550 --> 00:04:02,210
Es gibt nichts zurück und sein Name fügt Geschwindigkeit hinzu. 

70
00:04:02,210 --> 00:04:06,020
Das bedeutet, dass es einigen Arten von Objekten Geschwindigkeit verleiht. 

71
00:04:06,020 --> 00:04:08,770
Und was sind die Klammern am Ende? 

72
00:04:08,765 --> 00:04:11,215
Während diese als Parameter bezeichnet werden, bedeutet der

73
00:04:11,210 --> 00:04:16,300
Parameter, dass wir einen bestimmten Wert an diese Methode senden können. 

74
00:04:16,295 --> 00:04:21,575
Und es kann es verwenden, um Berechnungen oder alles, was es will, durchzuführen. 

75
00:04:21,575 --> 00:04:28,285
Wir werden zeigen, wie das alles in der Methode funktioniert, die unseren Feinden schaden wird. 

76
00:04:28,280 --> 00:04:31,010
Also genug reden, lass uns anfangen. 

77
00:04:31,010 --> 00:04:34,000
Ich werde Visual Studio öffnen und hier,

78
00:04:33,995 --> 00:04:37,885
und ich werde eine Methode innerhalb des feindlichen Controllers erstellen. 

79
00:04:37,880 --> 00:04:40,850
Ich scrolle auf der Erde nach unten, das Update. 

80
00:04:40,850 --> 00:04:44,560
Und hier drin werde ich eine Methode schaffen, um den Feind zu beschädigen. 

81
00:04:44,555 --> 00:04:47,035
Erstes, was muss ich sein? 

82
00:04:47,030 --> 00:04:48,680
Muss es ein Privat sein? 

83
00:04:48,680 --> 00:04:52,210
Also kann ich es nur hier und den feindlichen Controller benutzen,

84
00:04:52,205 --> 00:04:54,425
oder muss es öffentlich sein? 

85
00:04:54,425 --> 00:04:56,965
Das bedeutet, dass ich von überall darauf zugreifen kann. 

86
00:04:56,960 --> 00:05:00,860
Nun, höchstwahrscheinlich werde ich es brauchen, um öffentlich zu sein, weil

87
00:05:00,860 --> 00:05:04,820
ich möchte, dass die Kugeln den Feind beschädigen, wenn sie den Feind treffen. 

88
00:05:04,820 --> 00:05:08,200
Was wird eine öffentliche Leere sein,

89
00:05:08,195 --> 00:05:12,155
und ich nenne es den Schadensfeind. 

90
00:05:12,155 --> 00:05:17,405
Und es ist eine Leere, weil wir nichts vom Schadensfeind zurückgeben müssen. 

91
00:05:17,405 --> 00:05:21,695
Alles, was wir tun müssen, ist ein bisschen Gesundheit zu entfernen, die wir bereits haben. 

92
00:05:21,695 --> 00:05:23,915
Und hier, also die feindliche Gesundheit. 

93
00:05:23,915 --> 00:05:26,245
Und lass uns das ändern oder nein,

94
00:05:26,240 --> 00:05:29,150
ich zeige dir einen sehr coolen Trick und bleib einfach ein bisschen. 

95
00:05:29,150 --> 00:05:32,260
Wie auch immer, lassen Sie uns mit unserem Hauptaugenmerk fortfahren. 

96
00:05:32,255 --> 00:05:36,415
Ich möchte ihnen auch einen Parameter vom Typ integer senden
,

97
00:05:36,410 --> 00:05:38,630
der der Schaden sein wird. 

98
00:05:38,630 --> 00:05:39,760
Das können sie. 

99
00:05:39,755 --> 00:05:47,095
Was ich jetzt tun kann, ist, dass ich auf die Gesundheit zugreifen kann und davon entfernen kann. 

100
00:05:47,090 --> 00:05:50,480
Entschuldigung, der entstandene Schaden. 

101
00:05:50,480 --> 00:05:52,680
Also was passiert jetzt? 

102
00:05:52,684 --> 00:05:56,274
Du weißt bereits, was das Minuszeichen bedeutet. 

103
00:05:56,270 --> 00:06:01,250
Das bedeutet, dass wir den erlittenen Schaden von der Gesundheit entfernen. 

104
00:06:01,250 --> 00:06:11,150
Und schließlich müssen wir sicherstellen, dass die Gesundheit kleiner oder gleich 0 ist. 

105
00:06:11,150 --> 00:06:14,600
Das bedeutet, dass Sie hier einfach ein bisschen Leerzeichen hinzufügen. 

106
00:06:14,600 --> 00:06:22,340
Das bedeutet, dass unser Feind gestorben ist und ich das Spielobjekt zerstören möchte. 

107
00:06:22,340 --> 00:06:26,350
Okay, schauen wir uns das ein anderes Mal an. 

108
00:06:26,345 --> 00:06:30,805
Und bevor wir das tun, denke ich, dass der Name Health einer Variablen nicht so spezifisch ist. 

109
00:06:30,800 --> 00:06:34,130
Ich denke, wir müssen es in Gesundheit von Feinden ändern. 

110
00:06:34,130 --> 00:06:35,530
Was kann ich hier machen? 

111
00:06:35,525 --> 00:06:37,855
Ich kann den Namen hier in feindliche Gesundheit ändern. 

112
00:06:37,850 --> 00:06:42,560
Okay, und dann scrolle hier runter und ändere diese beiden genau hier. 

113
00:06:42,560 --> 00:06:44,650
Aber das ist ein bisschen umständlich,

114
00:06:44,645 --> 00:06:49,085
besonders wenn wir in unserem Code vielleicht 10 Mal Gesundheit verwendet haben. 

115
00:06:49,085 --> 00:06:50,945
Wie können wir das vermeiden? 

116
00:06:50,945 --> 00:06:52,735
Doppelklicken Sie einfach auf Gesundheit,

117
00:06:52,730 --> 00:06:54,850
klicken Sie auf Control R, R

118
00:06:54,845 --> 00:06:57,395
und jetzt werden Sie sehen, dass Sie dies hinzufügen können. 

119
00:06:57,395 --> 00:07:00,365
Also nenne ich das die feindliche Gesundheit. 

120
00:07:00,365 --> 00:07:02,165
Ich drücke Enter. 

121
00:07:02,165 --> 00:07:03,755
Und wenn ich nach unten scrolle,

122
00:07:03,755 --> 00:07:06,895
wirst
 du sehen, dass sich die feindliche Gesundheit verändert hat. 

123
00:07:06,890 --> 00:07:08,480
also zur Erinnerung,

124
00:07:08,480 --> 00:07:12,310
zur Steuerung oder zum zweimaligen Klicken

125
00:07:12,305 --> 00:07:13,975
Steuerung R
 gedrückt.

126
00:07:13,970 --> 00:07:18,920
Und Sie können den Variablennamen ändern und ihn überall und im Spiel ändern. 

127
00:07:18,920 --> 00:07:23,360
Das nächste, was wir tun werden, ist, dass wir diese Methode tatsächlich aufrufen werden. 

128
00:07:23,360 --> 00:07:25,000
Und woher nennen wir es? 

129
00:07:24,995 --> 00:07:27,775
Wir müssen zum Bullet-Controller gehen. 

130
00:07:27,770 --> 00:07:32,920
Und lass mich einfach den Bullet-Controller hier irgendwo finden. 

131
00:07:32,915 --> 00:07:34,715
Wo ist es in den Drehbüchern? 

132
00:07:34,715 --> 00:07:38,605
In den Kugeln, im Gesetz schrecklich bei Controller. 

133
00:07:38,600 --> 00:07:42,980
Und hier drin, wenn wir etwas auslösen, damit wir ein Objekt treffen

134
00:07:42,980 --> 00:07:44,320
,
 was
 wir tun

135
00:07:44,315 --> 00:07:48,605
werden, lassen wir mich diese Zeile einfach von hier entfernen. 

136
00:07:48,605 --> 00:07:54,605
Also instanziieren wir die Auswirkungen und wir werden auf die Kollision zugreifen. 

137
00:07:54,605 --> 00:07:56,395
Was ist die Kollision genau hier? 

138
00:07:56,390 --> 00:08:02,140
Wie Sie sehen können, ist dies ein Parameter, der an die Methode bei Trigger Enter gesendet wird. 

139
00:08:02,135 --> 00:08:06,695
Was ist die Kollision? Es ist das Objekt, mit dem wir gerade kollidiert haben. 

140
00:08:06,695 --> 00:08:08,635
Wenn wir zum Beispiel auf eine Wand stoßen,

141
00:08:08,630 --> 00:08:10,850
wäre
 die Kollision die Wand, die wir getroffen haben. 

142
00:08:10,850 --> 00:08:11,960
Und in unserem Fall

143
00:08:11,960 --> 00:08:14,720
wird
 die Kollision der Feind sein, den wir getroffen haben. 

144
00:08:14,720 --> 00:08:18,880
Und ich hole die Komponente, entschuldigen Sie mich. 

145
00:08:18,875 --> 00:08:21,775
Also bekomme ich die Komponente, die sich bei
 dieser Kollision befindet

146
00:08:21,770 --> 00:08:25,850
, und es wird der feindliche Controller sein. 

147
00:08:25,850 --> 00:08:27,830
Und im feindlichen Controller,

148
00:08:27,830 --> 00:08:30,760
weil ich diese Methode hier öffentlich gemacht habe, kann
 ich direkt hier darauf zugreifen,
 was der Schaden und das Amin

149
00:08:30,755 --> 00:08:32,395
kann
 ich direkt hier darauf zugreifen,

150
00:08:32,390 --> 00:08:34,610
ist. 

151
00:08:34,610 --> 00:08:39,380
Und was soll ich diesem Schadensfeind schicken? 

152
00:08:39,380 --> 00:08:41,200
Sie können jetzt sehen,

153
00:08:41,195 --> 00:08:42,385
keine Argumente
 gibt,

154
00:08:42,380 --> 00:08:44,450
also müssen wir den erlittenen Schaden anrichten. 

155
00:08:44,450 --> 00:08:46,490
Das wirst du genau hier bemerken. 

156
00:08:46,490 --> 00:08:51,130
Also schicke ich ihm den Schadensbetrag. 

157
00:08:51,125 --> 00:08:53,785
Aber wir haben keinen Schadensbetrag verursacht. 

158
00:08:53,780 --> 00:08:56,260
Also lasst uns weitermachen und es hier drin erstellen. 

159
00:08:56,255 --> 00:09:02,425
Das Bullet wird also auch eine Variable haben, die eine ganze Zahl sein wird. 

160
00:09:02,420 --> 00:09:05,390
Und das wird einfach das kopieren,

161
00:09:05,390 --> 00:09:10,750
was der Schadensbetrag sein wird, und ich setze es auf etwa 10 ein. 

162
00:09:10,745 --> 00:09:13,075
Also was passiert hier drin? 

163
00:09:13,070 --> 00:09:16,720
Jedes Mal, wenn die Kugel mit etwas kollidiert,

164
00:09:16,715 --> 00:09:19,655
erhalten
 wir die Informationen über diese Kollision. 

165
00:09:19,655 --> 00:09:21,185
Wir bekommen die Kollision,

166
00:09:21,185 --> 00:09:23,795
wir bekommen die Komponente des gegnerischen Controllers

167
00:09:23,795 --> 00:09:26,725
und greifen dort auf die Schadensfeind-Methode zu. 

168
00:09:26,720 --> 00:09:28,850
Wir haben ihm den Schadensbetrag geschickt. 

169
00:09:28,850 --> 00:09:31,120
Wir gehen zum feindlichen Controller. 

170
00:09:31,115 --> 00:09:34,135
Es ist öffentlich, alles, was wir die feindliche Gesundheit bekommen,

171
00:09:34,130 --> 00:09:36,730
wir entfernen die beschädigten Abgenommenen. 

172
00:09:36,725 --> 00:09:40,855
Der erlittene Schaden ist offensichtlich der Schadensbetrag genau hier. 

173
00:09:40,850 --> 00:09:45,110
Und dann prüfen wir, ob die Gesundheit kleiner oder gleich 0 ist. 

174
00:09:45,110 --> 00:09:49,280
Wenn ja, zerstören wir das Spielobjekt, weil der Feind es getan hat. 

175
00:09:49,280 --> 00:09:52,040
Also. Lasst uns das alles retten. 

176
00:09:52,040 --> 00:09:54,710
Und lasst uns weitermachen und es in Unity testen. 

177
00:09:54,710 --> 00:09:57,410
Also klicke ich auf den Feind und sorge
 dafür,

178
00:09:57,410 --> 00:09:59,210
dass wir die feindliche Gesundheit sehen. 

179
00:09:59,210 --> 00:10:01,520
Ich führe den Code aus. 

180
00:10:01,520 --> 00:10:04,610
Ich versuche unseren Feind zu erschießen. 

181
00:10:04,610 --> 00:10:07,100
Also habe ich es gezeigt, bis die Kugeln Dritter werden. 

182
00:10:07,100 --> 00:10:08,720
Lass uns die feindliche Gesundheit sehen. 

183
00:10:08,720 --> 00:10:10,120
Es war erledigt. 

184
00:10:10,115 --> 00:10:12,155
Da gehst du. Es wurde 90. 

185
00:10:12,155 --> 00:10:16,675
Lassen Sie mich zweimal versuchen, ihn zu erschießen, jetzt sollte seine Gesundheit genau hier 70 werden. 

186
00:10:16,670 --> 00:10:19,970
Behalte die 80, 70, los geht's. 

187
00:10:19,970 --> 00:10:22,370
Der Feind wird beschädigt. 

188
00:10:22,370 --> 00:10:24,620
Und wenn ich ihn weiter mit all meinen Kugeln erschieße,

189
00:10:24,620 --> 00:10:28,690
wirst
 du feststellen, dass 70 0 wird und der Feind verschwindet. 

190
00:10:28,685 --> 00:10:31,355
Aber beachte, was gerade passiert. 

191
00:10:31,355 --> 00:10:34,745
Zuallererst flogen unsere Kugeln überall weiter. 

192
00:10:34,745 --> 00:10:36,605
Warum ist das passiert? 

193
00:10:36,605 --> 00:10:37,375
Lass mich rauszoomen. 

194
00:10:37,370 --> 00:10:39,980
Sie können sehen, dass die Kugeln nicht mit der Wand interagierten. 

195
00:10:39,980 --> 00:10:41,530
Sie wurden nicht zerstört. 

196
00:10:41,525 --> 00:10:44,005
Und wir haben genau hier einen Fehler. 

197
00:10:44,000 --> 00:10:49,730
Und lass mich das Konsolenfenster öffnen, damit wir sehen können, was das Problem ist. Da gehst du. 

198
00:10:49,730 --> 00:10:52,760
Sie können sehen, dass wir Fehler für
 die vier Kugeln hier haben

199
00:10:52,760 --> 00:10:56,060
, die mit der Wand interagiert haben. 

200
00:10:56,060 --> 00:10:59,140
Und doppelklicken wir auf diesen Pfeil und sehen, was passiert ist. 

201
00:10:59,135 --> 00:11:02,815
Oh, also kannst du sehen, dass es uns zu der Zeile bringt, dass wir
 einen Fehler haben

202
00:11:02,810 --> 00:11:06,950
und lass mich dir das noch einmal zeigen. Doppelklicken. 

203
00:11:06,950 --> 00:11:08,270
Wir sind auf dieser Linie. 

204
00:11:08,270 --> 00:11:10,030
Du siehst genau hier. 

205
00:11:10,025 --> 00:11:13,475
Und weil diese Linie nicht richtig ausgeführt wurde, wurde

206
00:11:13,475 --> 00:11:17,125
die Zerstörung nicht richtig lösbar ausgeführt, sie ist weiter geflogen. 

207
00:11:17,120 --> 00:11:19,240
Dies ist nur eine Randnotiz. 

208
00:11:19,235 --> 00:11:20,785
Wie auch immer, was ist das Problem? 

209
00:11:20,780 --> 00:11:25,180
Das Problem ist, dass wir auf die Kollision zugreifen, oder? 

210
00:11:25,175 --> 00:11:30,265
Die Kollision sollte der Feind sein, da wir versuchen, auf den NMI-Controller zuzugreifen. 

211
00:11:30,260 --> 00:11:34,640
Aber das Problem ist, dass wir gerade an eine Wand gestoßen

212
00:11:34,640 --> 00:11:40,130
sind
 und auf dieser Wand nicht das feindliche Skript drauf ist. Interessant. 

213
00:11:40,130 --> 00:11:42,950
Wie werden wir das also retten? 

214
00:11:42,950 --> 00:11:46,970
Nun, zum Glück haben wir ein sehr, sehr mächtiges Werkzeug. 

215
00:11:46,970 --> 00:11:48,380
Lass mich das genau hier reden. 

216
00:11:48,380 --> 00:11:50,770
Lassen Sie mich all diese bösen Fehler klären. 

217
00:11:50,765 --> 00:11:55,355
Wir haben ein extrem leistungsfähiges Tool, über das wir noch nicht gesprochen haben. 

218
00:11:55,355 --> 00:11:58,195
Wenn ich in die Editierebenen gehe, haben wir, wie
 wir gesehen

219
00:11:58,190 --> 00:12:01,700
haben, die Ebenen der Physik-Layer,

220
00:12:01,700 --> 00:12:03,350
wir haben die Sortierebenen. 

221
00:12:03,350 --> 00:12:06,280
Wir haben dieses Tag auch genau hier. 

222
00:12:06,275 --> 00:12:07,765
Und was wir tun können,

223
00:12:07,760 --> 00:12:09,770
wir können den Feind markieren,

224
00:12:09,770 --> 00:12:11,660
war ein feindliches Etikett. 

225
00:12:11,660 --> 00:12:18,020
Und wann immer wir versuchen, nach dem gegnerischen Controller zu suchen, können
 wir vorher eine Bedingung schaffen, die

226
00:12:18,020 --> 00:12:23,590
überprüft, ob das Etikett der Kollision ein Feind ist,

227
00:12:23,585 --> 00:12:25,795
dann können wir weitermachen und ihn beschädigen. 

228
00:12:25,790 --> 00:12:30,640
Wenn es kein Feind ist oder das Objekt, das wir passen, nicht als Feind gekennzeichnet ist,

229
00:12:30,635 --> 00:12:34,765
können wir nicht auf den feindlichen Controller zugreifen. 

230
00:12:34,760 --> 00:12:36,860
Also lass mich wieder hier reingehen. 

231
00:12:36,860 --> 00:12:38,750
Lass mich dir zeigen, wo wir Dolch erschaffen können. 

232
00:12:38,750 --> 00:12:41,090
Wir können einfach auf diesen Plus-Button klicken,

233
00:12:41,090 --> 00:12:42,860
das Tag
 benennen, was immer wir wollen,

234
00:12:42,860 --> 00:12:44,780
speichern Sie das, gehen Sie zurück zum Feind. 

235
00:12:44,780 --> 00:12:49,790
Und Sie können genau hier sehen, dass wir ihn mit einem Tag markieren können, das wir gerade erstellt haben. 

236
00:12:49,790 --> 00:12:51,040
Lass mich zurückgehen. 

237
00:12:51,035 --> 00:12:53,035
Lösche den Stapel genau hier. 

238
00:12:53,030 --> 00:12:54,340
Jep. Okay. 

239
00:12:54,335 --> 00:12:58,685
Auch weil der Feind markiert wurde, kann der nicht markiert werden. 

240
00:12:58,684 --> 00:13:00,864
Ich weiß nicht, warum ich es getan habe. 

241
00:13:00,860 --> 00:13:05,750
Also los gehst du. Wird beim nächsten Laden des Projekts aus dieser Liste entfernt. 

242
00:13:05,750 --> 00:13:07,640
Okay, das war also ein großer Fehler,

243
00:13:07,640 --> 00:13:10,330
aber keine Sorge darüber, denn jetzt ist es Zeit für

244
00:13:10,325 --> 00:13:14,105
eine Herausforderung und deine Herausforderung besteht darin, unsere Feinde zu markieren. 

245
00:13:14,105 --> 00:13:15,235
also zuerst ein feindliches Tag,

246
00:13:15,230 --> 00:13:17,650
Erstelle also zuerst ein feindliches Tag, genau wie ich es dir gezeigt habe. 

247
00:13:17,645 --> 00:13:21,065
Stellen Sie sicher, dass Sie den Feind im feindlichen Tag markieren. 

248
00:13:21,065 --> 00:13:23,905
Bevor Sie den gegnerischen Controller erhalten,

249
00:13:23,900 --> 00:13:27,550
prüfen Sie nach einer Bedingung, ob das Kollisionsobjekt,

250
00:13:27,545 --> 00:13:29,665
damit Sie bereits wissen, was das Kollisionsobjekt ist,

251
00:13:29,660 --> 00:13:31,900
das feindliche Tag auf sich
 hat. 

252
00:13:31,895 --> 00:13:34,585
Und ich empfehle Ihnen, Google zu besuchen,

253
00:13:34,580 --> 00:13:40,060
Sie finden einen Weg, wie wir nach dem Tag suchen und das Tag vergleichen können. 

254
00:13:40,055 --> 00:13:43,325
Wenn du alleine weitermachen willst, mach es weiter. 

255
00:13:43,325 --> 00:13:45,715
Wenn nicht, gebe ich dir einen kleinen Hinweis. 

256
00:13:45,710 --> 00:13:48,820
Sie können etwas namens the.com DAG verwenden,
 es in Unity Dogs

257
00:13:48,815 --> 00:13:50,585
anschauen,

258
00:13:50,585 --> 00:13:53,635
Ihre Informationen
 verwenden, Ihre eigenen Recherchen durchführen. 

259
00:13:53,630 --> 00:13:55,790
Es gibt eine andere Möglichkeit, nach dem Tag zu suchen. 

260
00:13:55,790 --> 00:13:57,460
Ich empfehle dir, es zu finden. 

261
00:13:57,455 --> 00:14:02,155
Pausieren Sie das Video jetzt und gehen Sie einkaufen. 

262
00:14:02,150 --> 00:14:04,190
Hey, willkommen zurück. 

263
00:14:04,190 --> 00:14:05,600
Wie bist du damit zurecht gekommen? 

264
00:14:05,600 --> 00:14:10,850
Dies ist also die Einheit der Dokumentationen, component.com, DAG-Deklaration. 

265
00:14:10,850 --> 00:14:12,280
Es gibt einen Bool zurück,

266
00:14:12,275 --> 00:14:15,085
ob es wahr ist oder nicht oder kein öffentlicher Bool. 

267
00:14:15,080 --> 00:14:17,780
Auch das Vergleichs-Tag ist ein Bool und wir werden

268
00:14:17,780 --> 00:14:20,860
es in unserer if-Anweisung verwenden, da eine Bedingung in der if-Anweisung, wie wir wissen,

269
00:14:20,855 --> 00:14:23,855
eine Bedingung in der if-Anweisung wahr oder falsch ist. 

270
00:14:23,855 --> 00:14:28,225
So können wir auch sehen, wie es verwendet wird und es im Trigger Enter verwendet wird,

271
00:14:28,220 --> 00:14:30,790
wie praktisch für uns ist. 

272
00:14:30,785 --> 00:14:32,605
Also benutzen wir das andere,

273
00:14:32,600 --> 00:14:33,740
sie nannten es anders,

274
00:14:33,740 --> 00:14:35,330
wir haben es als Kollision. 

275
00:14:35,330 --> 00:14:37,340
Es ist das Gleiche, darüber machen Sie sich keine Sorgen. 

276
00:14:37,340 --> 00:14:40,210
Mal sehen, wie wir hier drin damit umgehen können. 

277
00:14:40,205 --> 00:14:42,385
Bevor wir also nach einer Kollision suchen,

278
00:14:42,380 --> 00:14:44,260
habe
 ich hier einen Tab hinzugefügt. 

279
00:14:44,255 --> 00:14:53,125
Ich werde sehen, ob die Kollision, die wir gerade getroffen haben, ein Feind ist. 

280
00:14:53,120 --> 00:14:54,530
Und bevor wir das tun,

281
00:14:54,530 --> 00:14:59,680
müssen
 wir diesen Typ schaffen, der der Feind ist. Drücken Sie Enter. 

282
00:14:59,675 --> 00:15:03,475
Also stelle ich sicher, dass wir es richtig schreiben. 

283
00:15:03,470 --> 00:15:07,820
Also Feind, und ich werde unseren Feind als Feind markieren. 

284
00:15:07,820 --> 00:15:09,320
Also jetzt hier drin,

285
00:15:09,320 --> 00:15:11,080
wenn es ein Feind ist,

286
00:15:11,075 --> 00:15:15,745
dann werden wir die Kollision und weitere raffinierte Tricks machen

287
00:15:15,740 --> 00:15:17,900
Dieses Video ist voller raffinierter Tricks. 

288
00:15:17,900 --> 00:15:20,960
Wenn Sie nur eine Zeile unter der if-Bedingung haben,

289
00:15:20,960 --> 00:15:23,840
müssen
 Sie diese Klammern nicht direkt hier hinzufügen. 

290
00:15:23,840 --> 00:15:26,230
Wenn Sie also nur eine Zeile haben,

291
00:15:26,225 --> 00:15:29,815
müssen
 Sie die Klammern nicht hinzufügen, wenn ich eine weitere Zeile hinzufüge. 

292
00:15:29,810 --> 00:15:33,700
Zum Beispiel ist der Zerstörer nicht Teil der if-Bedingung. 

293
00:15:33,695 --> 00:15:36,445
Selbst wenn ich es nehme und es genau hierher lege,

294
00:15:36,440 --> 00:15:40,150
wird
 es immer noch nicht Teil der Bedingung sein. 

295
00:15:40,145 --> 00:15:42,625
Und wenn Sie davon etwas verwirrt sind, machen Sie sich keine Sorgen. 

296
00:15:42,620 --> 00:15:44,180
Sie können Ihre eigenen Klammern hinzufügen. 

297
00:15:44,180 --> 00:15:46,070
Dies ist nur ein kleiner Test. 

298
00:15:46,070 --> 00:15:50,210
Sie können hier sogar einen Kommentar hinzufügen, um zu sagen, dass dies passiert. 

299
00:15:50,210 --> 00:15:52,960
Also werde ich das jetzt speichern. 

300
00:15:52,955 --> 00:15:57,055
Und nur wenn die Kollision ein gegnerischer Tag darauf ist. 

301
00:15:57,050 --> 00:16:01,030
Nun, wir rufen den feindlichen Controller an und geben ihn ihm. 

302
00:16:01,025 --> 00:16:02,195
Testen wir das mal. 

303
00:16:02,195 --> 00:16:07,115
Ich laufe das Spiel und fange an, die Wände zu schießen. 

304
00:16:07,115 --> 00:16:09,775
Und da gehst du, du kannst sehen, dass wir keine Fehler haben. 

305
00:16:09,770 --> 00:16:11,560
Wenn ich den Feind erschieße
,

306
00:16:11,555 --> 00:16:15,925
sehe ich mir den Schaden an, den der Feind erlitten hat. 

307
00:16:15,920 --> 00:16:18,200
Da gehst du. Man sieht, dass es bei 40 ist. 

308
00:16:18,200 --> 00:16:21,110
Ich werde ihn noch dreimal erschießen,

309
00:16:21,110 --> 00:16:24,490
also wird er 30, 20, 10. 

310
00:16:24,485 --> 00:16:30,085
Und schließlich werde ich ihn zum letzten Mal erschießen und er wird fehlerfrei zerstört. 

311
00:16:30,080 --> 00:16:31,660
Ich hoffe, es gefällt Ihnen,

312
00:16:31,655 --> 00:16:36,445
ich hoffe, Sie begehen alle Änderungen, die wir vornehmen. 

313
00:16:36,440 --> 00:16:37,840
Es ist sehr wichtig. 

314
00:16:37,835 --> 00:16:42,845
Manchmal mache ich das außerhalb des Bereichs des Videos. 

315
00:16:42,845 --> 00:16:44,875
Und damit hoffe ich, dass es Ihnen gefällt. 

316
00:16:44,870 --> 00:16:47,060
Wenn Ihnen dieser Kurs gefällt,

317
00:16:47,060 --> 00:16:48,710
hinterlassen
 Sie mir bitte eine Bewertung. 

318
00:16:48,710 --> 00:16:50,740
Es hilft mir sehr. 

319
00:16:50,735 --> 00:16:53,915
Es lässt alle wissen, dass dies ein guter Kurs ist. 

320
00:16:53,915 --> 00:16:56,335
Stellen Sie also sicher, dass Sie mir eine Bewertung hinterlassen. 

321
00:16:56,330 --> 00:16:57,830
Vielen Dank fürs Zuschauen. 

322
00:16:57,830 --> 00:17:00,500
Wir sehen uns im nächsten Video, in dem wir
 die Tiefe unserer Feinde ein bisschen brutaler machen werden

323
00:17:00,500 --> 00:17:03,430
. 

324
00:17:03,425 --> 00:17:06,425
Also sehe ich dich dann. 

