1
00:00:00,000 --> 00:00:03,800
Willkommen zurück, Meine Lieblingsspielentwickler. 

2
00:00:03,795 --> 00:00:06,105
In diesem Video werden wir nicht

3
00:00:06,105 --> 00:00:08,865
nur auf die nächste Stufe wechseln,

4
00:00:08,865 --> 00:00:11,285
wir werden auch übergehen. 

5
00:00:11,280 --> 00:00:13,340
Sie sind viel cooler. 

6
00:00:13,335 --> 00:00:15,215
Wenn wir jetzt durch das Portal gehen,

7
00:00:15,210 --> 00:00:16,320
gehen
 wir nicht sofort. 

8
00:00:16,320 --> 00:00:19,580
Wir warten zwei Sekunden und dann gehen wir los und wir können dies sogar

9
00:00:19,575 --> 00:00:23,315
vom Level-Manager so gut
 anpassen, wie wir wollen. 

10
00:00:23,310 --> 00:00:24,620
Sie können also sehen, dass wir jetzt
 eine zentrale Zahl haben

11
00:00:24,615 --> 00:00:27,585
, die der Level-Manager ist. 

12
00:00:27,585 --> 00:00:29,505
Wir werden Coroutinen,
 Szenenmanager und all das gute Zeug benutzen

13
00:00:29,505 --> 00:00:32,735
. 

14
00:00:32,730 --> 00:00:37,390
Verschwenden wir also keine Zeit mehr und lasst uns anfangen. 

15
00:00:37,389 --> 00:00:43,759
Oh, okay, also brauchen wir jetzt einen Level-Manager, denn

16
00:00:43,760 --> 00:00:45,680
,
 okay, es macht alles Spaß und Spiele

17
00:00:45,680 --> 00:00:48,250
wenn das Portal uns umstellt. 

18
00:00:48,245 --> 00:00:50,695
Aber wenn es um große Spiele geht,

19
00:00:50,690 --> 00:00:53,630
wollen
 wir nicht, dass dieses spezielle Objekt

20
00:00:53,630 --> 00:00:57,710
Kontrolle über die Art und Weise hat, wie wir uns durch Szenen bewegen. 

21
00:00:57,710 --> 00:01:01,580
Es ist viel besser, den Schwan bestimmen zu lassen, durch welches Level

22
00:01:01,580 --> 00:01:03,350
wir uns bewegen möchten, und dann

23
00:01:03,350 --> 00:01:05,660
ein zentraleres Objekt zu
 haben,

24
00:01:05,660 --> 00:01:08,390
nämlich der Levelmanager,
 der den Prozess der Bewegung von Level zu Level bewältigt

25
00:01:08,390 --> 00:01:11,500
. 

26
00:01:11,495 --> 00:01:13,675
Dies später, wenn Sie wachsen. 

27
00:01:13,670 --> 00:01:16,420
Im Moment muss es nicht so sein. 

28
00:01:16,415 --> 00:01:18,455
Sie können einfach das Portal benutzen. 

29
00:01:18,455 --> 00:01:20,575
Das Spiel wird für immer funktionieren. 

30
00:01:20,570 --> 00:01:22,450
Wenn es um große Spiele geht,

31
00:01:22,445 --> 00:01:25,225
das eigentliche Objekt den Job nicht. 

32
00:01:25,220 --> 00:01:26,570
Sie haben eine mehr,

33
00:01:26,570 --> 00:01:28,550
sagen
 wir eine größere Autorität,

34
00:01:28,550 --> 00:01:29,930
einen größeren Kopf, nämlich der
 Level-Manager

35
00:01:29,930 --> 00:01:31,690
, der damit umgeht. 

36
00:01:31,685 --> 00:01:33,775
Also klicke ich mit der rechten Maustaste, um ein
 Leeres zu erstellen

37
00:01:33,770 --> 00:01:35,860
, setze seine Position zurück. 

38
00:01:35,855 --> 00:01:39,685
Und das wird der Levelmanager sein. 

39
00:01:39,680 --> 00:01:42,610
Sie können zufrieden stellen, wo immer Sie wollen. 

40
00:01:42,605 --> 00:01:44,455
Und Sie können direkt
 hier in die Skripte gehen

41
00:01:44,450 --> 00:01:46,220
und zu den Managern mit der

42
00:01:46,220 --> 00:01:49,130
rechten Maustaste auf C-Sharp-Skript erstellen klicken. 

43
00:01:49,130 --> 00:01:52,010
Der Levelmanager. 

44
00:01:52,010 --> 00:01:55,780
Drücken Sie Enter und warten Sie ein wenig

45
00:01:55,775 --> 00:01:57,805
dass es
 den Ziel-Level-Manager beim Scripting hier kompiliert

46
00:01:57,800 --> 00:02:00,550
. 

47
00:02:00,545 --> 00:02:02,665
Und lasst uns weitermachen und es öffnen. 

48
00:02:02,660 --> 00:02:05,440
Als Erstes wollen
 wir

49
00:02:05,435 --> 00:02:08,435
diesen Levelmanager und die Instanz erstellen. 

50
00:02:08,434 --> 00:02:10,074
Was ist eine Instanz? 

51
00:02:10,070 --> 00:02:13,220
Die Instanz ermöglicht es uns,
 diesen Level-Manager überall anzurufen und das zu

52
00:02:13,220 --> 00:02:16,310
verwenden

53
00:02:16,310 --> 00:02:18,170
was immer wertvoll ist, da

54
00:02:18,170 --> 00:02:20,290
öffentlich und welche Methode

55
00:02:20,285 --> 00:02:22,675
uns
 öffentlich zur Verfügung steht, erstellt wird,

56
00:02:22,670 --> 00:02:24,610
sie zu einer Instanz
 machen und dann nenne es

57
00:02:24,605 --> 00:02:26,995
und du wirst verstehen, wie das funktioniert. 

58
00:02:26,990 --> 00:02:29,750
Was wir also tun können, ist zunächst,

59
00:02:29,750 --> 00:02:35,450
wir einen öffentlichen Manager für statische Ebene erstellen

60
00:02:35,450 --> 00:02:37,480
bedeutet, dass diese Variable
 außerhalb
 des

61
00:02:37,475 --> 00:02:41,135
Typ-Level-Managers ist und diese Instanz aufruft. 

62
00:02:41,135 --> 00:02:42,805
Und dann werden
 wir am Anfang

63
00:02:42,800 --> 00:02:48,670
die Instanz auf diese gespeicherte setzen. 

64
00:02:48,665 --> 00:02:52,795
Okay, was passiert gerade? 

65
00:02:52,790 --> 00:02:54,580
Zuallererst, öffentlich, wissen
 wir,

66
00:02:54,575 --> 00:02:56,945
welche Öffentlichkeit statisch ist. 

67
00:02:56,945 --> 00:02:58,675
Was ist statisch? 

68
00:02:58,670 --> 00:03:01,910
Statisch bedeutet, dass
 wir durch den gesamten Code

69
00:03:01,910 --> 00:03:04,120
das Waschbecken haben werden. 

70
00:03:04,115 --> 00:03:08,095
Ob wir es also vom Spieler-Controller aus nennen,

71
00:03:08,090 --> 00:03:09,710
vom Bullet-Aufprall,

72
00:03:09,710 --> 00:03:11,830
vom Raummanager. 

73
00:03:11,825 --> 00:03:14,965
Die Level-Manager-Instanz ist immer

74
00:03:14,960 --> 00:03:17,990
gleich, wenn wir das Buch instanziieren,

75
00:03:17,990 --> 00:03:21,070
z. B. ist jedes einzelne Aufzählungszeichen ein Klon. 

76
00:03:21,065 --> 00:03:23,045
Erinnerst du dich? Wenn ich das Spiel führe,

77
00:03:23,045 --> 00:03:24,755
lass mich dir einfach zeigen, was ich meine. 

78
00:03:24,755 --> 00:03:27,505
Also schieße ich ein paar Kugeln, unterbreche das Spiel. 

79
00:03:27,500 --> 00:03:30,190
Sie können sehen, dass jeder von ihnen ein Klon ist. 

80
00:03:30,185 --> 00:03:34,225
Wenn ich also versuche, auf den Player Bullet Controller zuzugreifen,

81
00:03:34,220 --> 00:03:36,140
wenn er
 beispielsweise nicht statisch ist,

82
00:03:36,140 --> 00:03:38,180
eine Variable, auf die er zugreifen wird,

83
00:03:38,180 --> 00:03:39,440
wird
 es anders sein als

84
00:03:39,440 --> 00:03:42,790
zum Beispiel eine Variable, die hier oder hier ist. 

85
00:03:42,785 --> 00:03:47,035
Aber wenn ich eine statische Variable für die Spielerkugel erstelle,

86
00:03:47,030 --> 00:03:50,510
dann ist die Variable, die statische Variable,
 die unabhängig davon, auf welche Kugel ich zugreife

87
00:03:50,510 --> 00:03:52,430
,

88
00:03:52,430 --> 00:03:53,620
dieselbe. 

89
00:03:53,615 --> 00:03:57,695
Statisch bedeutet also, dass es während des gesamten Gewinns gleich ist,

90
00:03:57,695 --> 00:04:00,715
wo und wann immer Sie darauf zugreifen. 

91
00:04:00,710 --> 00:04:03,620
Das ist sehr wichtig, wenn es um eine Statik geht. 

92
00:04:03,620 --> 00:04:06,200
Es ist also der Typ-Level-Manager, der

93
00:04:06,200 --> 00:04:09,320
ziemlich einfach zu verstehen ist und sein Name ist Instanz. 

94
00:04:09,320 --> 00:04:10,760
Wir können es nennen, wie immer wir wollen. 

95
00:04:10,760 --> 00:04:12,190
Wir können es Michael nennen, wenn du willst,

96
00:04:12,185 --> 00:04:13,565
was wird es als Instanz behalten. 

97
00:04:13,565 --> 00:04:17,485
Und dann haben wir dieses ironisch Wortspiel beabsichtigt und was? 

98
00:04:17,480 --> 00:04:20,480
Wir haben eine Instanz, die dem entspricht. 

99
00:04:20,480 --> 00:04:23,090
Dies bedeutet die eigentliche Klasse. 

100
00:04:23,090 --> 00:04:24,320
Also verwenden wir

101
00:04:24,320 --> 00:04:26,560
die Instanz, sobald wir das Spiel starten. 

102
00:04:26,555 --> 00:04:28,985
Instanz ist das. 

103
00:04:28,985 --> 00:04:31,645
Wo auch immer wir uns im Code befinden, können
 wir die

104
00:04:31,640 --> 00:04:35,530
Punktinstanz des Level-Managers schreiben
 und auf die Variable zugreifen,

105
00:04:35,525 --> 00:04:39,275
die offensichtlich öffentlich ist,

106
00:04:39,275 --> 00:04:41,015
oder auf die Methode, die wir hier haben. 

107
00:04:41,015 --> 00:04:42,835
Das nächste, was wir
 tun werden,

108
00:04:42,830 --> 00:04:45,170
ist, dass wir das Update vorerst entfernen. 

109
00:04:45,170 --> 00:04:47,230
Benutze es, um es wieder zu erstellen. 

110
00:04:47,225 --> 00:04:49,435
Und wir müssen etwas erstellen,

111
00:04:49,430 --> 00:04:53,180
serialisiertes Feld
 bezeichnet wird. 

112
00:04:53,180 --> 00:04:58,630
Schweben. Und es wird die Zeit zum Laden sein. 

113
00:04:58,625 --> 00:05:01,705
Also, und es wird gleich 2 f sein.

114
00:05:01,700 --> 00:05:04,030
Warum erstellen wir eine Schriftladung? 

115
00:05:04,025 --> 00:05:05,845
Was ist eigentlich unser Ziel? 

116
00:05:05,845 --> 00:05:07,895
Von all dem habe ich vergessen, es dir zu sagen. 

117
00:05:07,895 --> 00:05:09,745
Was wir tun wollen, ist, dass wir

118
00:05:09,740 --> 00:05:12,910
den Übergang auf die nächste Stufe
 verzögern wollen,

119
00:05:12,905 --> 00:05:15,545
also wollen wir nicht, dass dies sofort geschieht. 

120
00:05:15,545 --> 00:05:17,365
Wir wollen mindestens zwei Sekunden haben,

121
00:05:17,360 --> 00:05:18,730
also kommen wir zum Portal,

122
00:05:18,725 --> 00:05:20,005
warten zwei Sekunden und

123
00:05:20,000 --> 00:05:22,240
sind
 dann zum nächsten Level gereist. 

124
00:05:22,235 --> 00:05:25,295
Dies wird nur ein bisschen Authentizität von uns hinzufügen, wie Sie wissen,

125
00:05:25,295 --> 00:05:27,315
wann immer Sie ein Spiel spielen, tun Sie es nicht. 

126
00:05:27,315 --> 00:05:30,895
Und um zu berichten und dann sofort das nächste Level zu starten. 

127
00:05:30,895 --> 00:05:32,415
Du willst ein bisschen Zeit haben,

128
00:05:32,410 --> 00:05:34,590
zwei Sekunden überdenken vielleicht deine Entscheidung,

129
00:05:34,585 --> 00:05:36,435
aber es wird vorbei sein. 

130
00:05:36,430 --> 00:05:38,410
Und wie werden wir das machen? 

131
00:05:38,410 --> 00:05:42,090
Wir werden natürlich eine Beschichtung verwenden. 

132
00:05:42,085 --> 00:05:44,655
Also werde ich Ihnen nicht sagen, dass Sie
 die Quarantäne erstellen

133
00:05:44,650 --> 00:05:47,560
sollen, weil Sie es tun müssen,

134
00:05:47,560 --> 00:05:49,270
ich denke, ich habe
 irgendwo eine Herausforderung

135
00:05:49,270 --> 00:05:51,370
, wo Sie die Coroutine erstellen. 

136
00:05:51,370 --> 00:05:54,100
Achte also sehr genau auf. 

137
00:05:54,100 --> 00:05:55,330
Ich weiß, dass es anfangs

138
00:05:55,330 --> 00:05:57,490
sehr schwer zu erlernen ist. 

139
00:05:57,490 --> 00:06:00,360
Sobald du den Dreh raus hast, ist es extrem einfach. 

140
00:06:00,355 --> 00:06:02,295
Lasst uns anfangen. Zunächst einmal,

141
00:06:02,290 --> 00:06:03,820
weil wir von einem anderen Skript aus auf
 diese Co-Routine zugreifen werden

142
00:06:03,820 --> 00:06:06,060
. 

143
00:06:06,055 --> 00:06:09,965
Ich schreibe Public Eye Enumerator. 

144
00:06:09,960 --> 00:06:13,030
Die Coroutine ist also vom Typ I und Zähler. 

145
00:06:13,025 --> 00:06:21,485
Und wir nennen es das nächste, nächste Level. 

146
00:06:21,550 --> 00:06:25,580
Und hier drin werden wir einen Streit aufnehmen. 

147
00:06:25,580 --> 00:06:28,160
Es wird also vom Typ String sein und es wird
 die nächste Ebene sein

148
00:06:28,160 --> 00:06:31,570
, einfach so. 

149
00:06:31,565 --> 00:06:34,675
Und hier drin wollen wir auf die Zeit
 warten, um

150
00:06:34,670 --> 00:06:37,810
die Szene zu laden und dann zu laden. 

151
00:06:37,805 --> 00:06:41,215
Also wie gesagt, Ertrag,

152
00:06:41,210 --> 00:06:46,970
Rückkehr, neu, warte vier Sekunden. 

153
00:06:46,970 --> 00:06:48,710
Und das warten vier Sekunden,

154
00:06:48,710 --> 00:06:53,030
wir werden die Zeit zum Laden nutzen. 

155
00:06:53,030 --> 00:06:54,370
Wie großartig ist das? 

156
00:06:54,365 --> 00:06:57,025
Und schließlich, nachdem wir 42 Sekunden gewartet
 haben,

157
00:06:57,020 --> 00:07:02,030
gehen wir zum Szenenmanager. 

158
00:07:02,030 --> 00:07:05,720
Wir fügen das Szenenmanagement

159
00:07:05,720 --> 00:07:09,200
hier hinzu und jetzt können wir auf den Szenenmanager zugreifen. 

160
00:07:09,199 --> 00:07:11,529
Hast du bemerkt, was gerade passiert ist? 

161
00:07:11,525 --> 00:07:14,755
Es erlaubte mir nicht, den Szenenmanager zu benutzen, bis ich

162
00:07:14,750 --> 00:07:18,250
die Kriterien
 hatte, die Einheit sagen, dass wir dies verwenden. 

163
00:07:18,245 --> 00:07:21,395
Also Scene Manager, nicht Unity, entschuldigen Sie mich,

164
00:07:21,395 --> 00:07:23,165
das Skript genau hier,

165
00:07:23,165 --> 00:07:27,415
diese gesamte Datei, die wir verwenden, hat Management gesehen. 

166
00:07:27,410 --> 00:07:30,520
Also Scene Manager, Punktlast gesehen. 

167
00:07:30,515 --> 00:07:34,595
Und als nächste Szene, die wir auf 0 gehen oder ich meine,

168
00:07:34,595 --> 00:07:38,075
nächste Stufe, die wir zu niedrig gehen. Okay, großartig. 

169
00:07:38,075 --> 00:07:39,985
Das nächste, was wir tun müssen,
 ist, dass

170
00:07:39,980 --> 00:07:42,140
wir in den Level Exit gehen müssen. 

171
00:07:42,140 --> 00:07:44,960
Und anstatt den Scene Manager hier zu verwenden,

172
00:07:44,960 --> 00:07:49,130
verwenden
 wir einfach die Instanz, um die Co-Routine zu starten. 

173
00:07:49,130 --> 00:07:51,980
Und ehrlich gesagt bin ich schon sehr müde,

174
00:07:51,980 --> 00:07:55,460
also denke ich, dass es besser für dich ist, das anstelle von mir zu tun. 

175
00:07:55,460 --> 00:07:58,180
Also mach weiter, starte die Co-Routine. 

176
00:07:58,175 --> 00:08:00,755
zuerst von der Ebene des Exit-Skripts

177
00:08:00,755 --> 00:08:05,695
Rufen Sie zuerst von der Ebene des Exit-Skripts
 Kali den Level-Manager auf und wechseln Sie zur nächsten Ebene. 

178
00:08:05,690 --> 00:08:09,350
Es gibt ein kleines schwieriger, auf das Sie achten müssen. 

179
00:08:09,350 --> 00:08:11,380
Ich gebe dir einen kleinen Hinweis,

180
00:08:11,375 --> 00:08:14,615
nämlich du kannst nicht einfach eine Co-Routine nennen. 

181
00:08:14,615 --> 00:08:17,725
Sie müssen eine Qualität beginnen. 

182
00:08:17,720 --> 00:08:22,070
Also pausiere das Video jetzt und starte die Co-Routine. 

183
00:08:22,070 --> 00:08:24,170
Oh, okay, willkommen zurück. 

184
00:08:24,170 --> 00:08:26,810
Wie bist du damit zurecht gekommen? 

185
00:08:26,810 --> 00:08:29,570
Und hier werde ich das entfernen. 

186
00:08:29,570 --> 00:08:31,460
Und stattdessen werde ich sagen, dass ich

187
00:08:31,460 --> 00:08:33,860
eine Co-Routine beginne. 

188
00:08:33,860 --> 00:08:37,390
Ich benutze den Levelmanager. 

189
00:08:37,385 --> 00:08:40,255
Ich hoffe, das war nicht der schwierigste Teil, wenn Sie

190
00:08:40,250 --> 00:08:42,810
es geschafft haben, Instanz zu verwenden,

191
00:08:42,814 --> 00:08:44,694
ich gratuliere Ihnen, Sie gehen

192
00:08:44,690 --> 00:08:46,600
zur nächsten Stufe der Spieleentwicklung. 

193
00:08:46,595 --> 00:08:48,265
Wenn nicht, mach dir keine Sorgen darüber,
 es

194
00:08:48,260 --> 00:08:50,270
ist wahrscheinlich mein Fehler

195
00:08:50,270 --> 00:08:52,870
weil ich dir nicht gesagt habe, dass ich dir den Hinweis nicht gegeben habe. 

196
00:08:52,865 --> 00:08:56,995
Aber wir werden das nächste Level laden. 

197
00:08:56,990 --> 00:08:58,730
Diese Methode beim Laden der
 nächsten Ebene ist also

198
00:08:58,730 --> 00:09:01,700
tatsächlich ein Eye-Enumerator
 vom

199
00:09:01,700 --> 00:09:03,560
Level-Manager und

200
00:09:03,560 --> 00:09:06,850
benötigt eine Zeichenfolge der nächsten Ebene genau hier,

201
00:09:06,845 --> 00:09:08,575
wie Sie als Argument sehen können. 

202
00:09:08,570 --> 00:09:10,580
Also werde ich es ihm geben. 

203
00:09:10,580 --> 00:09:12,070
Und was sollte es sein? 

204
00:09:12,065 --> 00:09:15,055
Es sollte das Lot der Stufe zwei sein. 

205
00:09:15,050 --> 00:09:17,630
Spar dir das auf. Und eine sehr nette Sache. 

206
00:09:17,630 --> 00:09:20,680
Sie können sehen, dass die Verwendung der Unity-Engine nicht mehr so breit
 ist wie
 die Unity-Engine allein, wenn wir den Szenenmanager

207
00:09:20,675 --> 00:09:23,315
nicht mehr verwenden

208
00:09:23,315 --> 00:09:26,465
. 

209
00:09:26,465 --> 00:09:30,565
Die Dinge, die wir nicht benutzen, sind ein bisschen ausgegraut. 

210
00:09:30,560 --> 00:09:32,930
Also kann ich das tatsächlich entfernen,

211
00:09:32,930 --> 00:09:34,460
ein bisschen Speicher
 speichern. 

212
00:09:34,460 --> 00:09:37,240
Und jetzt weist der Level Exit den Level-Manager einfach

213
00:09:37,235 --> 00:09:40,255
den zentralen Kopf zu
 oder ruft ihn auf
 und sagt ihm,

214
00:09:40,250 --> 00:09:42,430
er soll das Level laden. 

215
00:09:42,425 --> 00:09:44,975
Dies wird sich als nützlich erweisen, wenn wir mehrere Portale haben. 

216
00:09:44,975 --> 00:09:46,265
Du wirst sehen, vertrau mir,

217
00:09:46,265 --> 00:09:48,865
es ist viel besser, es so zu machen. 

218
00:09:48,860 --> 00:09:50,140
Also spar dir das auf. 

219
00:09:50,135 --> 00:09:53,335
Geh zurück und zu unserem Spiel genau hier. 

220
00:09:53,330 --> 00:09:56,330
Starte das Spiel, ging auf das Portal zu. 

221
00:09:56,329 --> 00:09:57,619
Ich spiele im Szenenmodus. 

222
00:09:57,620 --> 00:09:59,360
Wenn ich jetzt auf das Portal komme,

223
00:09:59,360 --> 00:10:01,880
sollten
 wir zwei Sekunden Zeit haben, bevor wir abstimmen. 

224
00:10:01,880 --> 00:10:03,500
Und wir können es genau hier in
 London sehen

225
00:10:03,500 --> 00:10:05,330
, um zwei Sekunden zu laden. 

226
00:10:05,330 --> 00:10:07,390
Also los geht's. Hier geht nichts. 

227
00:10:07,385 --> 00:10:10,985
112 hoch. 

228
00:10:10,985 --> 00:10:11,575
Da sind wir los. 

229
00:10:11,570 --> 00:10:14,000
Jetzt sind wir also auf Level 1

230
00:10:14,000 --> 00:10:16,810
und sind nicht sofort dorthin gegangen. 

231
00:10:16,805 --> 00:10:18,295
Ich hoffe es gefällt dir. 

232
00:10:18,290 --> 00:10:21,010
Stellen Sie sicher, dass Sie alle Ihre Änderungen angeben. 

233
00:10:21,005 --> 00:10:23,395
Und im nächsten Video werden wir
 die Übergänge noch kühler machen

234
00:10:23,390 --> 00:10:25,870
. 

235
00:10:25,865 --> 00:10:28,105
Kannst du dir das noch cooler vorstellen? 

236
00:10:28,100 --> 00:10:30,900
Stellen Sie sicher, dass Sie eine Bewertung für die coolen Übergänge hinterlassen. 

237
00:10:30,904 --> 00:10:32,494
Wir sehen uns dann. 

