1
00:00:00,000 --> 00:00:03,800
Bem-vindo de volta, Meus desenvolvedores de jogos favoritos. 

2
00:00:03,795 --> 00:00:06,105
Neste vídeo, vamos não
 apenas fazer a

3
00:00:06,105 --> 00:00:08,865
transição para o próximo nível,

4
00:00:08,865 --> 00:00:11,285
mas também
 vamos fazer a transição. 

5
00:00:11,280 --> 00:00:13,340
Eles estão de uma forma muito mais legal. 

6
00:00:13,335 --> 00:00:15,215
Então, agora, quando
 passamos pelo portal,

7
00:00:15,210 --> 00:00:16,320
não vamos imediatamente. 

8
00:00:16,320 --> 00:00:19,580
Esperamos dois segundos e depois vamos e podemos até

9
00:00:19,575 --> 00:00:23,315
ajustar isso do gerenciador de níveis o quanto quisermos. 

10
00:00:23,310 --> 00:00:24,620
Então você pode ver que temos

11
00:00:24,615 --> 00:00:27,585
uma figura central agora que é o gerenciador de níveis. 

12
00:00:27,585 --> 00:00:29,505
Vamos usar corrotinas,

13
00:00:29,505 --> 00:00:32,735
gerente de
 cena e todas essas coisas boas. 

14
00:00:32,730 --> 00:00:37,390
Então, não vamos perder mais tempo e vamos começar. 

15
00:00:37,389 --> 00:00:43,759
Oh, ok, então agora precisamos de um gerente de nível porque,

16
00:00:43,760 --> 00:00:45,680
ok, é tudo divertido e jogos

17
00:00:45,680 --> 00:00:48,250
quando o portal está nos transitando. 

18
00:00:48,245 --> 00:00:50,695
Mas quando se trata de grandes jogos,

19
00:00:50,690 --> 00:00:53,630
não
 queremos que esse objeto em particular esteja no

20
00:00:53,630 --> 00:00:57,710
controle da maneira como nos movemos pelas cenas. 

21
00:00:57,710 --> 00:01:01,580
É muito melhor fazer com que o cisne determine qual nível

22
00:01:01,580 --> 00:01:03,350
queremos passar e depois

23
00:01:03,350 --> 00:01:05,660
ter um objeto mais central,

24
00:01:05,660 --> 00:01:08,390
que é o gerenciador de níveis que lidará com

25
00:01:08,390 --> 00:01:11,500
o processo de nos mover de nível para nível. 

26
00:01:11,495 --> 00:01:13,675
Isso mais tarde à medida que você cresce. 

27
00:01:13,670 --> 00:01:16,420
Por enquanto, não precisa ser assim. 

28
00:01:16,415 --> 00:01:18,455
Você pode simplesmente usar o portal. 

29
00:01:18,455 --> 00:01:20,575
O jogo funcionará para sempre. 

30
00:01:20,570 --> 00:01:22,450
Quando se trata de grandes jogos,

31
00:01:22,445 --> 00:01:25,225
o objeto real não faz o trabalho. 

32
00:01:25,220 --> 00:01:26,570
Você tem mais,
 digamos uma

33
00:01:26,570 --> 00:01:28,550
autoridade maior, uma cabeça maior,

34
00:01:28,550 --> 00:01:29,930
que é o
 gerente de nível

35
00:01:29,930 --> 00:01:31,690
que lida com isso. 

36
00:01:31,685 --> 00:01:33,775
Então, vou clicar com o botão direito do mouse em criar um

37
00:01:33,770 --> 00:01:35,860
vazio, redefinir sua posição. 

38
00:01:35,855 --> 00:01:39,685
E este vai ser o gerente de níveis. 

39
00:01:39,680 --> 00:01:42,610
Você pode satisfazer onde quiser. 

40
00:01:42,605 --> 00:01:44,455
E você pode acessar os scripts
 aqui e para os gerentes,
 clicar com o botão direito

41
00:01:44,450 --> 00:01:46,220
aqui e para os gerentes,
 clicar com o

42
00:01:46,220 --> 00:01:49,130
do mouse em criar um script C-sharp. 

43
00:01:49,130 --> 00:01:52,010
O gerenciador de níveis. 

44
00:01:52,010 --> 00:01:55,780
Pressione Enter e espere que

45
00:01:55,775 --> 00:01:57,805
ele compile

46
00:01:57,800 --> 00:02:00,550
o gerenciador de nível de meta no script aqui.
 

47
00:02:00,545 --> 00:02:02,665
E vamos seguir em frente e abri-lo. 

48
00:02:02,660 --> 00:02:05,440
Agora, a primeira coisa que queremos fazer
 é fazer

49
00:02:05,435 --> 00:02:08,435
esse gerenciador de níveis e instância. 

50
00:02:08,434 --> 00:02:10,074
O que é uma instância? 

51
00:02:10,070 --> 00:02:13,220
A instância nos permitirá chamar

52
00:02:13,220 --> 00:02:16,310
esse gerenciador de nível onde quer que estejamos e usar

53
00:02:16,310 --> 00:02:18,170
o que é valioso como

54
00:02:18,170 --> 00:02:20,290
público e qualquer método
 público disponível para nós é

55
00:02:20,285 --> 00:02:22,675
criado,

56
00:02:22,670 --> 00:02:24,610
torná-lo uma instância e depois chame isso,

57
00:02:24,605 --> 00:02:26,995
e você entenderá como isso funciona. 

58
00:02:26,990 --> 00:02:29,750
Então, o que podemos fazer é antes de tudo,

59
00:02:29,750 --> 00:02:35,450
vamos fazer um gerenciador de nível estático público, o que significa que essa variável estará
 fora
 do gerenciador

60
00:02:35,450 --> 00:02:37,480
que significa que essa variável estará
 fora
 do

61
00:02:37,475 --> 00:02:41,135
de nível de tipo e chamará essa instância. 

62
00:02:41,135 --> 00:02:42,805
E, em seguida, no início,

63
00:02:42,800 --> 00:02:48,670
vamos definir a instância igual a esta salva. 

64
00:02:48,665 --> 00:02:52,795
Ok, então o que está acontecendo agora? 

65
00:02:52,790 --> 00:02:54,580
Primeiro de tudo, público,

66
00:02:54,575 --> 00:02:56,945
sabemos o que público é estático. 

67
00:02:56,945 --> 00:02:58,675
O que é estático? 

68
00:02:58,670 --> 00:03:01,910
Estático significa que, através de todo o código,

69
00:03:01,910 --> 00:03:04,120
teremos isso o coletor. 

70
00:03:04,115 --> 00:03:08,095
Então, se chamamos isso do controlador do jogador,

71
00:03:08,090 --> 00:03:09,710
do impacto da bala,

72
00:03:09,710 --> 00:03:11,830
do gerente da sala. 

73
00:03:11,825 --> 00:03:14,965
A instância do gerenciador de níveis é sempre

74
00:03:14,960 --> 00:03:17,990
a mesma quando instanciamos o livro,

75
00:03:17,990 --> 00:03:21,070
por exemplo, cada marcador é um clone. 

76
00:03:21,065 --> 00:03:23,045
Você se lembra? Então, se eu executar o jogo,

77
00:03:23,045 --> 00:03:24,755
deixe-me mostrar o que quero dizer. 

78
00:03:24,755 --> 00:03:27,505
Então eu atiro algumas balas, pauso o jogo. 

79
00:03:27,500 --> 00:03:30,190
Você pode ver que cada um deles é um clone. 

80
00:03:30,185 --> 00:03:34,225
Então, se eu tentar acessar o controlador de bala do player,

81
00:03:34,220 --> 00:03:36,140
por exemplo, se não for estático,

82
00:03:36,140 --> 00:03:38,180
alguma variável que
 ele acessará,

83
00:03:38,180 --> 00:03:39,440
será diferente,

84
00:03:39,440 --> 00:03:42,790
por
 exemplo, de uma variável que está aqui ou aqui. 

85
00:03:42,785 --> 00:03:47,035
Mas se eu criar uma variável estática na bala do jogador,

86
00:03:47,030 --> 00:03:50,510
então qualquer bala que eu acesse,

87
00:03:50,510 --> 00:03:52,430
a variável estática,

88
00:03:52,430 --> 00:03:53,620
será a mesma. 

89
00:03:53,615 --> 00:03:57,695
Portanto, estático significa que é o mesmo em todo o ganho,

90
00:03:57,695 --> 00:04:00,715
onde e quando você acessá-lo. 

91
00:04:00,710 --> 00:04:03,620
Isso é muito importante quando se trata de uma estática. 

92
00:04:03,620 --> 00:04:06,200
Portanto, é do gerenciador de nível de tipo que é

93
00:04:06,200 --> 00:04:09,320
muito fácil de entender e seu nome é instância. 

94
00:04:09,320 --> 00:04:10,760
Podemos chamá-lo do que quisermos. 

95
00:04:10,760 --> 00:04:12,190
Podemos chamá-lo de Michael se você quiser,

96
00:04:12,185 --> 00:04:13,565
o que o manterá como instância. 

97
00:04:13,565 --> 00:04:17,485
E então temos esse trocadilho ironicamente pretendido e o quê? 

98
00:04:17,480 --> 00:04:20,480
Temos instância igual a isso. 

99
00:04:20,480 --> 00:04:23,090
Isso significa a classe real. 

100
00:04:23,090 --> 00:04:24,320
Então, estamos usando

101
00:04:24,320 --> 00:04:26,560
a instância assim que começamos o jogo. 

102
00:04:26,555 --> 00:04:28,985
Instância é essa. 

103
00:04:28,985 --> 00:04:31,645
Então, agora, onde quer que
 estejamos no código,

104
00:04:31,640 --> 00:04:35,530
podemos ir em frente e escrever instância de ponto do gerenciador de níveis

105
00:04:35,525 --> 00:04:39,275
e acessar qualquer variável que seja pública obviamente,

106
00:04:39,275 --> 00:04:41,015
ou método que temos aqui. 

107
00:04:41,015 --> 00:04:42,835
Então, a próxima coisa que vamos
 fazer

108
00:04:42,830 --> 00:04:45,170
é remover a atualização por enquanto. 

109
00:04:45,170 --> 00:04:47,230
Use-o irá criá-lo novamente. 

110
00:04:47,225 --> 00:04:49,435
E precisamos criar algo

111
00:04:49,430 --> 00:04:53,180
chamado campo serializado. 

112
00:04:53,180 --> 00:04:58,630
Flutuador. E será a hora de carregar. 

113
00:04:58,625 --> 00:05:01,705
Então, e será igual a 2 f.

114
00:05:01,700 --> 00:05:04,030
Por que criamos um carregamento de fonte? 

115
00:05:04,025 --> 00:05:05,845
Qual é realmente o nosso objetivo? 

116
00:05:05,845 --> 00:05:07,895
Fora de tudo isso, esqueci de te dizer. 

117
00:05:07,895 --> 00:05:09,745
O que queremos fazer é
 atrasar a

118
00:05:09,740 --> 00:05:12,910
transição para o próximo nível,

119
00:05:12,905 --> 00:05:15,545
então não queremos que isso aconteça instantaneamente. 

120
00:05:15,545 --> 00:05:17,365
Queremos ter pelo menos dois segundos,

121
00:05:17,360 --> 00:05:18,730
então chegamos ao portal,

122
00:05:18,725 --> 00:05:20,005
esperamos dois segundos e

123
00:05:20,000 --> 00:05:22,240
depois viajamos para o próximo nível. 

124
00:05:22,235 --> 00:05:25,295
Isso apenas adicionará um pouco de nós autenticidade como você sabe,

125
00:05:25,295 --> 00:05:27,315
sempre que você estiver jogando um jogo, você não faz. 

126
00:05:27,315 --> 00:05:30,895
E para relatar e, em seguida, iniciar imediatamente o próximo nível. 

127
00:05:30,895 --> 00:05:32,415
Você quer ter um pouco de tempo,

128
00:05:32,410 --> 00:05:34,590
dois segundos talvez repensem sua decisão,

129
00:05:34,585 --> 00:05:36,435
mas acabará. 

130
00:05:36,430 --> 00:05:38,410
E como vamos fazer isso? 

131
00:05:38,410 --> 00:05:42,090
Obviamente, vamos usar um revestimento. 

132
00:05:42,085 --> 00:05:44,655
Então eu não vou te dizer para criar
 a

133
00:05:44,650 --> 00:05:47,560
quarentena agora porque você precisa fazer com isso,

134
00:05:47,560 --> 00:05:49,270
acho que
 tenho um desafio

135
00:05:49,270 --> 00:05:51,370
em algum lugar onde você cria a corrotina. 

136
00:05:51,370 --> 00:05:54,100
Portanto, preste atenção muito de perto. 

137
00:05:54,100 --> 00:05:55,330
Sei que os adolescentes chamados são

138
00:05:55,330 --> 00:05:57,490
muito difíceis de aprender no começo. 

139
00:05:57,490 --> 00:06:00,360
Depois de pegar o jeito, é extremamente fácil. 

140
00:06:00,355 --> 00:06:02,295
Vamos começar. Primeiro de tudo,

141
00:06:02,290 --> 00:06:03,820
porque acessaremos

142
00:06:03,820 --> 00:06:06,060
essa co-rotina a partir de um script diferente. 

143
00:06:06,055 --> 00:06:09,965
Vou escrever enumerador visual público. 

144
00:06:09,960 --> 00:06:13,030
Portanto, a corrotina é do tipo I e do numerador. 

145
00:06:13,025 --> 00:06:21,485
E vamos chamá-lo de carregamento próximo, próximo nível. 

146
00:06:21,550 --> 00:06:25,580
E aqui vamos aceitar uma discussão. 

147
00:06:25,580 --> 00:06:28,160
Então, vai ser do tipo string e será
 o

148
00:06:28,160 --> 00:06:31,570
próximo nível, assim. 

149
00:06:31,565 --> 00:06:34,675
E aqui o que faremos é esperar

150
00:06:34,670 --> 00:06:37,810
o tempo
 para carregar e depois carregar a cena. 

151
00:06:37,805 --> 00:06:41,215
Então, como dissemos, produza,

152
00:06:41,210 --> 00:06:46,970
retorne, novo, espere quatro segundos. 

153
00:06:46,970 --> 00:06:48,710
E isso espere quatro segundos,

154
00:06:48,710 --> 00:06:53,030
vamos usar o tempo para carregar. 

155
00:06:53,030 --> 00:06:54,370
Quão ótimo é isso? 

156
00:06:54,365 --> 00:06:57,025
E finalmente, depois de
 esperarmos 42 segundos,

157
00:06:57,020 --> 00:07:02,030
vamos entrar no gerente de cena. 

158
00:07:02,030 --> 00:07:05,720
Adicionamos o gerenciamento de cenas

159
00:07:05,720 --> 00:07:09,200
aqui e agora podemos acessar o gerenciador de cenas. 

160
00:07:09,199 --> 00:07:11,529
Então você notou o que aconteceu agora? 

161
00:07:11,525 --> 00:07:14,755
Não me permitiu usar o gerenciador de cena até que eu

162
00:07:14,750 --> 00:07:18,250
tivesse os critérios dizendo à unidade que estamos usando isso. 

163
00:07:18,245 --> 00:07:21,395
Então Scene Manager, não Unity, desculpe-me

164
00:07:21,395 --> 00:07:23,165
o script aqui,

165
00:07:23,165 --> 00:07:27,415
todo
 esse arquivo que estamos usando, gerenciamento visto. 

166
00:07:27,410 --> 00:07:30,520
Então Scene Manager, carga de pontos vista. 

167
00:07:30,515 --> 00:07:34,595
E como a próxima cena que vamos para 0 ou quero dizer,

168
00:07:34,595 --> 00:07:38,075
no próximo nível que estamos indo muito baixo. Certo, ótimo. 

169
00:07:38,075 --> 00:07:39,985
Agora, a próxima coisa que precisamos fazer

170
00:07:39,980 --> 00:07:42,140
é entrar na saída de nível. 

171
00:07:42,140 --> 00:07:44,960
E em vez de usar o Scene Manager aqui,

172
00:07:44,960 --> 00:07:49,130
simplesmente
 usamos a instância para iniciar a co-rotina. 

173
00:07:49,130 --> 00:07:51,980
E honestamente, já estou muito cansado,

174
00:07:51,980 --> 00:07:55,460
então acho que é melhor para você fazer isso em vez de mim. 

175
00:07:55,460 --> 00:07:58,180
Então vá em frente, inicie a co-rotina. 

176
00:07:58,175 --> 00:08:00,755
Primeiro de tudo, a partir do nível de script de saída,

177
00:08:00,755 --> 00:08:05,695
Kali, chame o gerenciador de níveis e vá para o próximo nível. 

178
00:08:05,690 --> 00:08:09,350
Há um pequeno mais complicado que você precisará tomar cuidado. 

179
00:08:09,350 --> 00:08:11,380
Vou te dar uma pequena dica,

180
00:08:11,375 --> 00:08:14,615
que é que você não pode simplesmente chamar uma co-rotina. 

181
00:08:14,615 --> 00:08:17,725
Você precisa começar uma qualidade. 

182
00:08:17,720 --> 00:08:22,070
Então, pause o vídeo agora mesmo e comece a co-rotina. 

183
00:08:22,070 --> 00:08:24,170
Oh, ok, bem-vindo de volta. 

184
00:08:24,170 --> 00:08:26,810
Então, como você se deu bem com isso? 

185
00:08:26,810 --> 00:08:29,570
E aqui vou remover isso. 

186
00:08:29,570 --> 00:08:31,460
E, em vez disso, vou dizer que
 vou

187
00:08:31,460 --> 00:08:33,860
começar uma co-rotina. 

188
00:08:33,860 --> 00:08:37,390
Vou usar o gerenciador de níveis. 

189
00:08:37,385 --> 00:08:40,255
Espero que esta não tenha sido a parte mais difícil se você

190
00:08:40,250 --> 00:08:42,810
conseguiu usar a instância,

191
00:08:42,814 --> 00:08:44,694
eu o parabenizo, você passa

192
00:08:44,690 --> 00:08:46,600
para o próximo nível de desenvolvimento de jogos. 

193
00:08:46,595 --> 00:08:48,265
Se não, não se preocupe com
 isso,

194
00:08:48,260 --> 00:08:50,270
provavelmente é meu erro

195
00:08:50,270 --> 00:08:52,870
porque eu não te disse que não lhe dei a dica. 

196
00:08:52,865 --> 00:08:56,995
Mas vamos carregar o próximo nível. 

197
00:08:56,990 --> 00:08:58,730
Portanto, esse método no carregamento

198
00:08:58,730 --> 00:09:01,700
próximo nível é, na verdade, um enumerador ocular
 do

199
00:09:01,700 --> 00:09:03,560
gerenciador de níveis e

200
00:09:03,560 --> 00:09:06,850
requer uma sequência de nível seguinte aqui,

201
00:09:06,845 --> 00:09:08,575
como você pode ver como um argumento. 

202
00:09:08,570 --> 00:09:10,580
Então, vou dar a ele. 

203
00:09:10,580 --> 00:09:12,070
E o que deveria ser? 

204
00:09:12,065 --> 00:09:15,055
Deve ser o lote de nível dois. 

205
00:09:15,050 --> 00:09:17,630
Salve isso. E uma coisa muito boa. 

206
00:09:17,630 --> 00:09:20,680
Você pode ver que quando paramos de usar o gerenciador de cena,

207
00:09:20,675 --> 00:09:23,315
o mecanismo de uso do Unity

208
00:09:23,315 --> 00:09:26,465
não
 é mais tão amplo quanto o mecanismo Unity sozinho. 

209
00:09:26,465 --> 00:09:30,565
Então, as coisas que não usamos estão um pouco acinzentadas. 

210
00:09:30,560 --> 00:09:32,930
Então eu posso realmente remover isso,

211
00:09:32,930 --> 00:09:34,460
salvar um pouco de memória. 

212
00:09:34,460 --> 00:09:37,240
E agora a saída do nível apenas aloca

213
00:09:37,235 --> 00:09:40,255
ou chama o gerenciador de níveis de cabeça central

214
00:09:40,250 --> 00:09:42,430
e diz a ele para carregar o nível. 

215
00:09:42,425 --> 00:09:44,975
Isso será útil quando tivermos vários portais. 

216
00:09:44,975 --> 00:09:46,265
Você verá, confie em mim,

217
00:09:46,265 --> 00:09:48,865
é muito melhor fazê-lo dessa maneira. 

218
00:09:48,860 --> 00:09:50,140
Então, salve isso. 

219
00:09:50,135 --> 00:09:53,335
Volte e para o nosso jogo aqui. 

220
00:09:53,330 --> 00:09:56,330
Comece o jogo, caminhou em direção ao portal. 

221
00:09:56,329 --> 00:09:57,619
Estou jogando no modo cena. 

222
00:09:57,620 --> 00:09:59,360
Então, agora, quando eu cheguei ao portal,

223
00:09:59,360 --> 00:10:01,880
devemos ter dois segundos antes de votar. 

224
00:10:01,880 --> 00:10:03,500
E podemos vê-lo aqui mesmo na

225
00:10:03,500 --> 00:10:05,330
hora do gerente de
 Londres para carregar dois segundos. 

226
00:10:05,330 --> 00:10:07,390
Então lá vamos nós. Aqui não vai nada. 

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

228
00:10:10,985 --> 00:10:11,575
Lá vamos nós. 

229
00:10:11,570 --> 00:10:14,000
Então agora estamos no nível 1

230
00:10:14,000 --> 00:10:16,810
e não fomos para lá imediatamente. 

231
00:10:16,805 --> 00:10:18,295
Então, espero que você goste. 

232
00:10:18,290 --> 00:10:21,010
Certifique-se de declarar e todas as suas alterações. 

233
00:10:21,005 --> 00:10:23,395
E no próximo vídeo, vamos tornar
 as

234
00:10:23,390 --> 00:10:25,870
transições ainda mais frias. 

235
00:10:25,865 --> 00:10:28,105
Você pode imaginar isso ainda mais legal do que isso? 

236
00:10:28,100 --> 00:10:30,900
Certifique-se de deixar um comentário para as transições legais. 

237
00:10:30,904 --> 00:10:32,494
Vejo você então. 

