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

2
00:00:03,360 --> 00:00:06,650
Neste vídeo, vamos nos tornar invencíveis. 

3
00:00:06,645 --> 00:00:09,365
Então, agora, quando somos baleados uma vez, pela segunda vez,

4
00:00:09,360 --> 00:00:10,560
somos invencíveis e você

5
00:00:10,560 --> 00:00:12,390
percebe que fizemos um pequeno flash,

6
00:00:12,390 --> 00:00:13,770
o que é muito legal. 

7
00:00:13,770 --> 00:00:15,990
Agora também vamos nos tornar

8
00:00:15,990 --> 00:00:18,740
invencíveis quando fizermos o torpedo. 

9
00:00:18,735 --> 00:00:22,745
Então ninguém pode nos machucar enquanto estamos fazendo nosso torpedo. 

10
00:00:22,740 --> 00:00:24,570
Obviamente, não chegamos lá,

11
00:00:24,570 --> 00:00:26,430
mas não vamos nos preocupar com isso. 

12
00:00:26,430 --> 00:00:28,680
Vamos antes de tudo
 criar

13
00:00:28,680 --> 00:00:31,140
nossa mecânica de invencibilidade. 

14
00:00:31,140 --> 00:00:32,770
Então, vamos começar. 

15
00:00:32,770 --> 00:00:34,460
O k.

16
00:00:34,460 --> 00:00:37,720
Então agora, sempre que somos baleados,

17
00:00:37,715 --> 00:00:39,385
se estivermos, por exemplo,

18
00:00:39,380 --> 00:00:43,010
presos entre os três esqueletos aqui,

19
00:00:43,010 --> 00:00:44,810
pode ser apenas um
 pouco

20
00:00:44,810 --> 00:00:47,210
injusto para o jogador jogando

21
00:00:47,210 --> 00:00:49,340
nosso jogo que ele morre

22
00:00:49,340 --> 00:00:52,070
imediatamente e nem percebe o que aconteceu. 

23
00:00:52,070 --> 00:00:53,450
E outra coisa,

24
00:00:53,450 --> 00:00:55,640
uma coisa muito legal que eu gostaria

25
00:00:55,640 --> 00:00:57,340
adicionar como mecânica de jogo ao nosso jogo

26
00:00:57,335 --> 00:00:59,445
é que sempre que estamos arrojados,

27
00:00:59,449 --> 00:01:02,139
temos nosso jogador apenas um pouco

28
00:01:02,135 --> 00:01:03,865
invencível para alguns

29
00:01:03,860 --> 00:01:06,140
segundos, talvez até milissegundos. 

30
00:01:06,140 --> 00:01:07,930
Então, para isso, vamos
 implementar

31
00:01:07,925 --> 00:01:09,775
essa mecânica de fazer com

32
00:01:09,770 --> 00:01:11,600
nosso jogador seja invencível

33
00:01:11,600 --> 00:01:14,120
por pelo menos alguns segundos. 

34
00:01:14,120 --> 00:01:16,940
Então, vamos entrar em nosso manipulador de saúde do jogador. 

35
00:01:16,940 --> 00:01:20,390
E aqui vou criar duas variáveis. 

36
00:01:20,390 --> 00:01:21,860
O primeiro será

37
00:01:21,860 --> 00:01:25,220
um campo serializado e vai ser um flutuador,

38
00:01:25,219 --> 00:01:29,449
e será o tempo de sensibilidade. 

39
00:01:29,450 --> 00:01:32,770
Então, quanto tempo o jogador permanece invencível? 

40
00:01:32,765 --> 00:01:36,535
Ele será adicionado como um padrão de 1 segundo. 

41
00:01:36,530 --> 00:01:38,260
E então eu vou criar

42
00:01:38,255 --> 00:01:43,835
um bool privado e chamá-lo de invencível. 

43
00:01:43,835 --> 00:01:46,265
Então, quando o jogador é invencível,

44
00:01:46,265 --> 00:01:48,925
há algumas coisas que vão acontecer

45
00:01:48,920 --> 00:01:51,620
e algumas coisas que não acontecerão. 

46
00:01:51,620 --> 00:01:53,960
E uma das coisas que não acontecerá é que

47
00:01:53,960 --> 00:01:56,890
o jogador não sofrerá dano. 

48
00:01:56,885 --> 00:01:59,425
Então, aqui, vamos
 verificar

49
00:01:59,420 --> 00:02:02,050
antes de começarmos a danificar o jogador. 

50
00:02:02,045 --> 00:02:05,185
Se o jogador for invencível,

51
00:02:05,180 --> 00:02:08,630
então vamos realmente
 saber

52
00:02:08,630 --> 00:02:12,610
o que eu queria fazer é curvar. 

53
00:02:12,605 --> 00:02:16,715
Então, aqui, deixe-me remover este. 

54
00:02:16,715 --> 00:02:20,515
E, e um convite para eles. 

55
00:02:20,510 --> 00:02:24,350
O que eu queria dizer se o jogador não for invencível,

56
00:02:24,350 --> 00:02:26,360
então não é invisível significa que vamos

57
00:02:26,360 --> 00:02:29,050
adicionar um ponto de exclamação por trás disso,

58
00:02:29,045 --> 00:02:31,705
e isso mudará a coisa toda. 

59
00:02:31,700 --> 00:02:33,680
Então, se ele não é invencível,

60
00:02:33,679 --> 00:02:35,659
é invencível é verdade,

61
00:02:35,660 --> 00:02:37,640
que significa que toda a condição

62
00:02:37,640 --> 00:02:39,770
é falsa por causa do ponto de exclamação,

63
00:02:39,770 --> 00:02:41,720
isso significa que não acessamos isso. 

64
00:02:41,720 --> 00:02:44,340
Isso significa que sempre que somos invencíveis,

65
00:02:44,344 --> 00:02:45,804
é invencível é verdade. 

66
00:02:45,800 --> 00:02:47,800
Não nos machucamos. 

67
00:02:47,795 --> 00:02:49,085
Tão excelente. 

68
00:02:49,085 --> 00:02:50,435
Vamos continuar. 

69
00:02:50,435 --> 00:02:52,045
A próxima coisa que queremos fazer é

70
00:02:52,040 --> 00:02:53,870
ter certeza de que
 deixamos

71
00:02:53,870 --> 00:02:55,970
de ser invencíveis

72
00:02:55,970 --> 00:02:57,610
após um certo período de tempo. 

73
00:02:57,605 --> 00:03:01,005
Então, para isso, teremos que criar um revestimento. 

74
00:03:01,009 --> 00:03:04,389
Então, vou emitir isso para você como um desafio. 

75
00:03:04,385 --> 00:03:07,375
Então volte o jogador usando um revestimento. 

76
00:03:07,370 --> 00:03:09,380
Você precisará criar uma coisa central que volte

77
00:03:09,380 --> 00:03:11,710
o jogador de sua invencibilidade,

78
00:03:11,705 --> 00:03:15,155
deve usar a variável de tempo de invencibilidade

79
00:03:15,155 --> 00:03:16,945
e você precisa chamar o revestimento

80
00:03:16,940 --> 00:03:18,770
no local apropriado. 

81
00:03:18,770 --> 00:03:22,100
Então, com essa informação do vídeo agora,

82
00:03:22,100 --> 00:03:24,810
e vá para o desafio. 

83
00:03:24,810 --> 00:03:26,620
Certo, bem-vindo de volta. 

84
00:03:26,620 --> 00:03:28,240
Como você se deu bem com isso? 

85
00:03:28,240 --> 00:03:29,980
Sabe, o que eu amo sobre

86
00:03:29,980 --> 00:03:32,470
os desafios é que isso te mantém responsável. 

87
00:03:32,470 --> 00:03:35,340
Então, se neste momento você ainda não
 soubesse

88
00:03:35,335 --> 00:03:38,525
como funciona um tribunal depois de todos os desafios,

89
00:03:38,529 --> 00:03:41,529
você terá que aprender em algum momento porque
 continuarei

90
00:03:41,530 --> 00:03:42,940
pedindo que você faça

91
00:03:42,940 --> 00:03:45,400
algo até que ele esteja arraigado em você. 

92
00:03:45,400 --> 00:03:48,610
Então, vamos ter calma e

93
00:03:48,610 --> 00:03:52,150
vamos seguir em frente e criar um enumerador de olhos aqui. 

94
00:03:52,150 --> 00:03:54,370
Então eu acredito que é muito fácil agora. 

95
00:03:54,370 --> 00:03:57,910
Então, o jogador é invencível. 

96
00:03:57,910 --> 00:04:04,380
Ou volte para o que devemos chamar essa camada? 

97
00:04:04,375 --> 00:04:10,285
Vamos apenas chamá-lo de invencível. 

98
00:04:10,280 --> 00:04:13,130
Eles, eles não são invencíveis. 

99
00:04:13,129 --> 00:04:15,099
Certo, vamos chamá-lo assim. 

100
00:04:15,095 --> 00:04:17,515
E aqui vamos produzir um

101
00:04:17,510 --> 00:04:21,760
novo peso de
 retorno por segundo. 

102
00:04:21,755 --> 00:04:22,985
Quero dizer, a este ponto,

103
00:04:22,985 --> 00:04:25,835
deveria ser como apenas espirrar ou respirar. 

104
00:04:25,835 --> 00:04:27,985
Portanto, rendemos retorno nova espera

105
00:04:27,980 --> 00:04:31,220
quatro segundos, o tempo de invencibilidade. 

106
00:04:31,219 --> 00:04:33,769
E depois que o tempo de invencibilidade é

107
00:04:33,770 --> 00:04:37,010
invencível voltará ao falso. 

108
00:04:37,010 --> 00:04:39,890
E também quero ter certeza de que assim que
 começarmos

109
00:04:39,890 --> 00:04:43,540
o é invencível está definido como falso. 

110
00:04:43,535 --> 00:04:45,715
Para que não sejamos

111
00:04:45,710 --> 00:04:48,260
invencíveis assim que começamos com isso feito,

112
00:04:48,260 --> 00:04:50,390
acredito que é tudo o que precisamos fazer. 

113
00:04:50,390 --> 00:04:51,710
Então, vou salvar isso. 

114
00:04:51,710 --> 00:04:53,800
Vou voltar ao nosso jogo. 

115
00:04:53,795 --> 00:04:55,795
E vamos executar o jogo. 

116
00:04:55,790 --> 00:04:57,440
E vamos ver o que acontece. 

117
00:04:57,440 --> 00:04:59,530
Então, quando eu, ok, então primeiro,

118
00:04:59,525 --> 00:05:01,985
precisamos adicionar talvez mais alguns segundos. 

119
00:05:01,985 --> 00:05:04,255
Então, tempo de desgraça e sensibilidade,

120
00:05:04,250 --> 00:05:08,330
vamos fazer dois, e vamos executá-lo novamente. 

121
00:05:08,330 --> 00:05:10,480
Então esse será o momento. 

122
00:05:10,475 --> 00:05:12,145
Então, somos atingidos uma vez. 

123
00:05:12,140 --> 00:05:15,100
Lá vamos nós. Agora conseguimos duas vezes, ainda morremos. 

124
00:05:15,095 --> 00:05:16,495
Por que isso? 

125
00:05:16,490 --> 00:05:18,140
Vamos ver qual é o problema. 

126
00:05:18,140 --> 00:05:20,630
Vamos tornar isso público para que possamos ver

127
00:05:20,630 --> 00:05:23,680
claramente se estamos realmente mudando o que está acontecendo. 

128
00:05:23,675 --> 00:05:26,815
Tudo o que não começamos o frio aqui. 

129
00:05:26,810 --> 00:05:29,530
Então, vou me certificar de que sim. 

130
00:05:29,525 --> 00:05:32,425
Aqui, Onde devemos chamá-lo de 0? 

131
00:05:32,420 --> 00:05:39,920
Então também o que eu quero fazer é sempre que somos atingidos,

132
00:05:39,920 --> 00:05:44,180
também
 precisamos mudar o que é invencível para verdadeiro. 

133
00:05:44,180 --> 00:05:46,520
Então, há muitos passos que eu esqueci de fazer. 

134
00:05:46,520 --> 00:05:47,890
E depois de conseguirmos,

135
00:05:47,885 --> 00:05:50,725
vou começar a co-rotina. 

136
00:05:50,720 --> 00:05:56,660
E a corrotina será a camada, não invencível. 

137
00:05:56,660 --> 00:05:58,430
Então, há muitas coisas. 

138
00:05:58,430 --> 00:06:00,640
Então deixe-me dizer o que eu esqueci de fazer. 

139
00:06:00,635 --> 00:06:02,735
E aqui, assim que formos atingidos,

140
00:06:02,735 --> 00:06:05,855
queremos definir o invencível como verdadeiro. 

141
00:06:05,855 --> 00:06:07,555
E uma vez que formos invencíveis,

142
00:06:07,550 --> 00:06:09,440
vamos começar a corrotina. 

143
00:06:09,440 --> 00:06:11,750
E porque o é invencível é verdade,

144
00:06:11,750 --> 00:06:13,220
não
 ficamos mais danificados. 

145
00:06:13,220 --> 00:06:15,290
Então essa linha foi crucial. 

146
00:06:15,290 --> 00:06:17,240
E eu nem sei como eu

147
00:06:17,240 --> 00:06:19,340
poderia ter esquecido algo tão importante,

148
00:06:19,340 --> 00:06:20,810
essa é toda a essência de

149
00:06:20,810 --> 00:06:22,400
tornar nosso jogador invencível. 

150
00:06:22,400 --> 00:06:24,400
Então, espero que você entenda o que está acontecendo. 

151
00:06:24,395 --> 00:06:25,765
Espero que você não esteja muito bravo

152
00:06:25,760 --> 00:06:28,070
os erros que às vezes cometi. 

153
00:06:28,070 --> 00:06:29,950
E vamos seguir em frente e executar o jogo. 

154
00:06:29,945 --> 00:06:32,815
Então lá vamos nós, somos atingidos uma vez, recebemos duas vezes. 

155
00:06:32,810 --> 00:06:33,230
Lá vai você. 

156
00:06:33,230 --> 00:06:36,130
Você pode ver que o segundo quadril não nos matou. 

157
00:06:36,125 --> 00:06:39,685
Por quê? Porque tivemos o tempo de invencibilidade. 

158
00:06:39,680 --> 00:06:41,830
Então podemos ver aqui que estava ligado. 

159
00:06:41,825 --> 00:06:44,845
Vamos testar isso novamente porque eu

160
00:06:44,840 --> 00:06:47,990
sinto que talvez devêssemos ter tomado mais um golpe. 

161
00:06:47,990 --> 00:06:53,050
Então lá vamos nós é invencível e morremos. 

162
00:06:53,045 --> 00:06:55,855
Ainda sinto que há algo não

163
00:06:55,850 --> 00:07:00,170
errado e estou certo. Então 50. 

164
00:07:00,170 --> 00:07:04,160
Então, vamos nos certificar de que está funcionando. 

165
00:07:04,160 --> 00:07:06,320
Vamos defini-lo para talvez cinco segundos

166
00:07:06,320 --> 00:07:08,710
e ver se isso dura mais tempo. 

167
00:07:08,705 --> 00:07:10,555
Porque posso ver aqui que isso
 não está

168
00:07:10,550 --> 00:07:15,050
mudando 1234, ok,

169
00:07:15,050 --> 00:07:17,590
então eu sei que acho que tudo está funcionando,

170
00:07:17,585 --> 00:07:19,465
mas por algum motivo não estamos

171
00:07:19,460 --> 00:07:21,470
vendo essa mudança aqui. 

172
00:07:21,470 --> 00:07:22,940
Mas não se preocupe com isso. 

173
00:07:22,940 --> 00:07:25,420
Sabemos que está funcionando porque quando
 aumentamos

174
00:07:25,415 --> 00:07:28,595
o tamanho do tempo, somos invencíveis. 

175
00:07:28,595 --> 00:07:32,345
Podemos ficar no rosto do tipo um pouco mais. 

176
00:07:32,345 --> 00:07:35,425
Certo, ótimo. Agora, isso está tudo bem e elegante. 

177
00:07:35,420 --> 00:07:36,940
Mas aqui está o problema. 

178
00:07:36,935 --> 00:07:38,875
Não temos ideia de que somos

179
00:07:38,870 --> 00:07:41,090
invencíveis por um certo período de tempo. 

180
00:07:41,090 --> 00:07:43,130
Então, o que vamos fazer é

181
00:07:43,130 --> 00:07:45,310
tentar visualizar isso. 

182
00:07:45,305 --> 00:07:46,535
Então faça isso. 

183
00:07:46,535 --> 00:07:48,745
O que eu acho que
 vou fazer é

184
00:07:48,740 --> 00:07:51,170
acessar o corpo aqui. 

185
00:07:51,170 --> 00:07:54,620
Você pode ver que temos as cores e quando formos atingidos,

186
00:07:54,620 --> 00:07:57,230
vou fazer o jogador piscar. 

187
00:07:57,230 --> 00:08:00,320
Então eu vou fazê-lo piscar uma, duas, três vezes,

188
00:08:00,320 --> 00:08:05,120
ou continuar piscando até que o tempo que temos acabe. 

189
00:08:05,120 --> 00:08:08,110
Então, vamos seguir em frente e fazer isso. 

190
00:08:08,105 --> 00:08:11,365
Então, vou entrar aqui e vou

191
00:08:11,360 --> 00:08:14,920
obter uma referência ao sprite do jogador. 

192
00:08:14,915 --> 00:08:18,365
Campo tão serializado. 

193
00:08:18,365 --> 00:08:23,555
E vai ser o renderizador sprite. 

194
00:08:23,555 --> 00:08:27,115
E vai ser o sprite do jogador. 

195
00:08:27,110 --> 00:08:30,110
Lá vamos nós. E aqui vamos

196
00:08:30,110 --> 00:08:32,980
criar um numerador. 

197
00:08:32,975 --> 00:08:36,155
E vai ser o pisca. 

198
00:08:36,155 --> 00:08:40,085
E aqui o que faremos é que vamos,

199
00:08:40,085 --> 00:08:41,455
primeiro determinar quantos

200
00:08:41,450 --> 00:08:42,890
flashes queremos ter. 

201
00:08:42,890 --> 00:08:45,580
E então criaremos um loop for. 

202
00:08:45,575 --> 00:08:46,345
Espere por isso. 

203
00:08:46,340 --> 00:08:48,290
Sabe do que estou falando? 

204
00:08:48,290 --> 00:08:51,910
Vai ter o int igual a 0,

205
00:08:51,905 --> 00:08:55,715
enquanto eu é menor do que quantos flashes queremos? 

206
00:08:55,715 --> 00:08:57,815
Digamos que cinco flashes. 

207
00:08:57,814 --> 00:09:00,004
E eu mais, mais. 

208
00:09:00,005 --> 00:09:00,955
Certo. 

209
00:09:00,950 --> 00:09:02,470
Então fique comigo. 

210
00:09:02,465 --> 00:09:04,675
Vou deixá-lo corretamente. 

211
00:09:04,670 --> 00:09:06,620
Em primeiro lugar, vou adicionar um pouco

212
00:09:06,620 --> 00:09:08,690
de espaçamento aqui e depois
 vou

213
00:09:08,690 --> 00:09:12,100
acessar a cor
 do ponto sprite do jogador

214
00:09:12,095 --> 00:09:15,655
será igual a uma nova cor. 

215
00:09:15,650 --> 00:09:19,550
Abra os colchetes ou o que eles são chamados. 

216
00:09:19,550 --> 00:09:21,760
E então eu vou escrever aqui,

217
00:09:21,755 --> 00:09:25,705
vamos manter a mesma coisa. 

218
00:09:25,840 --> 00:09:28,560
Vamos manter o,

219
00:09:28,564 --> 00:09:31,164
deixe-me duplicar esta linha duas vezes. 

220
00:09:31,160 --> 00:09:32,420
Vamos manter o a.

221
00:09:32,420 --> 00:09:33,940
Então temos o ordinal. 

222
00:09:33,935 --> 00:09:36,245
Começamos por vermelho,

223
00:09:36,245 --> 00:09:41,125
vermelho, verde e azul. 

224
00:09:41,120 --> 00:09:42,980
E, finalmente, teremos

225
00:09:42,980 --> 00:09:45,730
o último que não deve levar uma vírgula. 

226
00:09:45,725 --> 00:09:48,505
Podemos ver aqui que não temos uma vírgula e vai

227
00:09:48,500 --> 00:09:51,320
ser
 a, a.

228
00:09:51,320 --> 00:09:52,940
Mas no nosso caso, em primeiro lugar,

229
00:09:52,940 --> 00:09:54,290
queremos reduzir o a.

230
00:09:54,290 --> 00:09:57,900
Então vamos defini-lo para talvez 0,1. 

231
00:09:58,570 --> 00:10:06,010
Depois disso, vamos dar retorno novo. 

232
00:10:06,005 --> 00:10:08,975
E vamos esperar quatro segundos. 

233
00:10:08,975 --> 00:10:11,515
E isso é o quão rápido vamos piscar. 

234
00:10:11,510 --> 00:10:14,200
Então, vou defini-lo para o seu 0.1. 

235
00:10:14,195 --> 00:10:17,065
Quando não temos um 0 ou apenas um ponto,

236
00:10:17,060 --> 00:10:18,710
isso significa que temos 0,1. 

237
00:10:18,710 --> 00:10:22,690
É uma maneira um pouco mais rápida de fazer as coisas. 

238
00:10:22,685 --> 00:10:25,315
E então vamos voltar e copiar

239
00:10:25,310 --> 00:10:27,760
esta linha e colocá-la aqui. 

240
00:10:27,755 --> 00:10:29,665
E em vez de 0,1,

241
00:10:29,660 --> 00:10:31,570
nós íamos ter o único. 

242
00:10:31,565 --> 00:10:33,895
E deixe-me adicionar uma guia

243
00:10:33,890 --> 00:10:36,230
aqui para fins de implementação. 

244
00:10:36,230 --> 00:10:38,060
Então, apenas entenda tudo. 

245
00:10:38,060 --> 00:10:40,960
E então vamos voltar a

246
00:10:40,955 --> 00:10:44,575
produzir retorno de peso para 1. Segundo. 

247
00:10:44,570 --> 00:10:45,580
Salve isso. 

248
00:10:45,575 --> 00:10:48,205
E agora temos que começar a corrotina em algum lugar. 

249
00:10:48,200 --> 00:10:50,030
Quando formos atingidos logo

250
00:10:50,030 --> 00:10:52,390
após definirmos a invencibilidade como verdadeira,

251
00:10:52,385 --> 00:10:54,805
vamos começar a co-rotina,

252
00:10:54,800 --> 00:11:01,190
que será V pisca com os parênteses também,

253
00:11:01,190 --> 00:11:03,380
estes são chamados de parênteses, acabei de me lembrar. 

254
00:11:03,380 --> 00:11:05,540
Talvez eles vão carpool e parênteses e maneiras como
 salvamos

255
00:11:05,540 --> 00:11:07,750
o que está acontecendo aqui. 

256
00:11:07,745 --> 00:11:09,665
Então, antes de tudo, temos o loop. 

257
00:11:09,665 --> 00:11:13,135
Já sabemos como o loop funciona. Começamos em 0. 

258
00:11:13,130 --> 00:11:14,440
Fazemos isso quatro vezes,

259
00:11:14,435 --> 00:11:15,865
cinco vezes na verdade é 4,

260
00:11:15,860 --> 00:11:18,070
0, 1, 2, 3 e 4. 

261
00:11:18,065 --> 00:11:20,305
Então, 5 vezes, aumentamos em um

262
00:11:20,300 --> 00:11:22,750
cada vez e vamos percorrer. 

263
00:11:22,745 --> 00:11:24,595
Então, o que estamos fazendo aqui? 

264
00:11:24,590 --> 00:11:26,260
Estamos mudando a cor. 

265
00:11:26,255 --> 00:11:27,925
Mantemos tudo vermelho, verde

266
00:11:27,920 --> 00:11:30,440
e azul iguais, exceto o alfa. 

267
00:11:30,440 --> 00:11:32,390
E aqui estamos fazendo o mesmo. 

268
00:11:32,390 --> 00:11:36,320
Então, o primeiro que estamos reduzindo para alfa para 0,1. 

269
00:11:36,320 --> 00:11:39,550
E o segundo, estamos fazendo o Alpha 1. 

270
00:11:39,545 --> 00:11:41,455
E o que estamos fazendo aqui? 

271
00:11:41,450 --> 00:11:43,460
Bem, já sabemos como o
 retorno de rendimento

272
00:11:43,460 --> 00:11:46,390
que você espera quatro segundos funciona. 

273
00:11:46,385 --> 00:11:49,925
Primeiro de tudo, temos o alfa em 0,1. 

274
00:11:49,925 --> 00:11:52,445
Esperamos por 0,1 segundos. 

275
00:11:52,445 --> 00:11:54,545
Então, voltamos para um. 

276
00:11:54,545 --> 00:11:57,275
Esperamos 0,1 segundos e,
 novamente,

277
00:11:57,275 --> 00:12:00,535
iniciamos o loop e continuamos fazendo isso. 

278
00:12:00,530 --> 00:12:03,730
Então vamos, ok,

279
00:12:03,725 --> 00:12:05,485
e continuamos fazendo isso e isso
 criará

280
00:12:05,480 --> 00:12:07,510
um efeito piscante,

281
00:12:07,505 --> 00:12:09,695
não acredite em mim, isso é isso. 

282
00:12:09,695 --> 00:12:11,705
Então, vou voltar aqui. 

283
00:12:11,705 --> 00:12:16,565
Vou executar o jogo e vamos ver o que acontece. 

284
00:12:16,565 --> 00:12:18,955
Então, vou me aproximar do inimigo. 

285
00:12:18,950 --> 00:12:22,060
Ele atira em mim e nada acontece porque, obviamente,

286
00:12:22,055 --> 00:12:23,815
toda vez que temos que cometer

287
00:12:23,810 --> 00:12:27,700
o mesmo erro que precisamos adicionar o sprite do jogador. 

288
00:12:27,695 --> 00:12:29,695
Então arrastamos o corpo,

289
00:12:29,690 --> 00:12:30,770
salvamos tudo isso. 

290
00:12:30,770 --> 00:12:34,540
Vamos aplicar as alterações e vamos executar. 

291
00:12:34,535 --> 00:12:39,595
E agora devemos ver que nós, lá vamos nós. 

292
00:12:39,590 --> 00:12:41,060
Você pode ver que começamos a piscar. 

293
00:12:41,060 --> 00:12:42,350
Quando paramos de piscar,

294
00:12:42,350 --> 00:12:44,890
isso significa que não somos mais invencíveis. 

295
00:12:44,885 --> 00:12:47,615
Agora, a única coisa aqui, o único truque,

296
00:12:47,615 --> 00:12:50,335
coisa
 complicada aqui é que queremos
 ter certeza

297
00:12:50,330 --> 00:12:53,450
de que o tempo de invencibilidade e o rubor

298
00:12:53,450 --> 00:12:55,610
coincidem para não começarmos a

299
00:12:55,610 --> 00:12:58,550
piscar e, por algum motivo

300
00:12:58,550 --> 00:13:01,250
pare de piscar, mas ainda somos

301
00:13:01,250 --> 00:13:04,210
invencíveis ou, ao contrário, continuamos piscando,

302
00:13:04,205 --> 00:13:06,655
mas não somos mais invencíveis, então morremos. 

303
00:13:06,650 --> 00:13:07,730
Não temos certeza do que está acontecendo. 

304
00:13:07,730 --> 00:13:09,590
Então, haverá um problema de

305
00:13:09,590 --> 00:13:11,270
tempo que você precisará

306
00:13:11,270 --> 00:13:13,040
ajustar e garantir que ele funcione. 

307
00:13:13,040 --> 00:13:14,800
Mas com isso dito,

308
00:13:14,795 --> 00:13:18,155
vou lhe emitir um desafio extra. 

309
00:13:18,155 --> 00:13:19,445
Quão legal é isso? 

310
00:13:19,445 --> 00:13:21,685
Tenho 100% de certeza que você não viu

311
00:13:21,680 --> 00:13:23,900
isso chegando porque eu quero tornar

312
00:13:23,900 --> 00:13:26,150
o jogador invencível quando ele faz

313
00:13:26,150 --> 00:13:29,410
o torpedo ou o traço ou o que quer que você chama. 

314
00:13:29,405 --> 00:13:33,295
Então essa informação, pause o vídeo agora mesmo

315
00:13:33,290 --> 00:13:35,260
e torne o player também

316
00:13:35,255 --> 00:13:38,015
invencível quando ele faz o torpedo. 

317
00:13:38,015 --> 00:13:40,225
Oh, ok, bem-vindo de volta. 

318
00:13:40,220 --> 00:13:42,850
Então, o que vamos fazer aqui? 

319
00:13:42,845 --> 00:13:45,545
Obviamente, temos o pisca aqui,

320
00:13:45,545 --> 00:13:47,495
mas queremos ter certeza de que o
 chamamos

321
00:13:47,495 --> 00:13:49,375
de outro método,

322
00:13:49,370 --> 00:13:51,190
que é o controlador do jogador. 

323
00:13:51,185 --> 00:13:53,125
Quando estamos, Onde está,

324
00:13:53,120 --> 00:13:56,390
Onde está a arma de troca? O jogador arrojado. 

325
00:13:56,390 --> 00:13:57,490
Então lá vamos aqui,

326
00:13:57,485 --> 00:13:59,065
queremos ter certeza de que chamamos

327
00:13:59,060 --> 00:14:00,740
isso sempre que estivermos arrojados,

328
00:14:00,740 --> 00:14:02,600
como vamos fazer isso? 

329
00:14:02,600 --> 00:14:03,800
Bem, é muito fácil. 

330
00:14:03,800 --> 00:14:05,470
Precisamos iniciar uma co-rotina. 

331
00:14:05,465 --> 00:14:08,005
Então, vamos olhar para trás aqui. 

332
00:14:08,000 --> 00:14:09,800
Temos uma corrotina? 

333
00:14:09,800 --> 00:14:12,200
Vamos seguir em frente e obter

334
00:14:12,200 --> 00:14:16,090
o componente, a saúde do jogador. 

335
00:14:16,085 --> 00:14:19,975
Enquanto ele manipulador de camadas. 

336
00:14:19,970 --> 00:14:20,980
Lá vamos nós. 

337
00:14:20,975 --> 00:14:23,245
E aqui vamos,

338
00:14:23,240 --> 00:14:27,200
antes de obter o componente, iniciar uma corrotina. 

339
00:14:27,200 --> 00:14:33,730
E eu acho que porque este é qual é o nome? 

340
00:14:33,725 --> 00:14:38,485
E apenas verifique Não,

341
00:14:38,480 --> 00:14:40,850
na verdade, desculpe por isso. 

342
00:14:40,850 --> 00:14:43,490
Corrotina de início de pontos. 

343
00:14:43,490 --> 00:14:46,290
E aqui vamos acessar o pisca. 

344
00:14:46,294 --> 00:14:53,344
Podemos saber que precisamos torná-lo público no enumerador. 

345
00:14:53,345 --> 00:14:58,625
Então pisca, não está me permitindo. 

346
00:14:58,625 --> 00:15:07,775
Ok, então eu acho que temos que fazer isso assim. 

347
00:15:07,775 --> 00:15:10,445
Então comece a corrotina. 

348
00:15:11,290 --> 00:15:14,540
E lá vamos nós. 

349
00:15:14,540 --> 00:15:15,640
Salve isso. 

350
00:15:15,635 --> 00:15:17,125
Então, como você pode ver,

351
00:15:17,120 --> 00:15:19,610
mesmo eu não tinha certeza de como isso vai funcionar,

352
00:15:19,610 --> 00:15:22,250
mas aparentemente precisamos iniciar a corrotina. 

353
00:15:22,250 --> 00:15:23,750
Acessamos o componente,

354
00:15:23,750 --> 00:15:27,130
obtemos o manipulador de saúde do jogador e o manipulador de jogadores da NBA. 

355
00:15:27,125 --> 00:15:28,675
Nós pegamos o pisca. 

356
00:15:28,670 --> 00:15:29,860
Então, salve isso. 

357
00:15:29,855 --> 00:15:31,835
Vamos testar isso. 

358
00:15:31,835 --> 00:15:33,785
De volta ao nosso jogo. 

359
00:15:33,785 --> 00:15:35,245
Nós executamos o jogo. 

360
00:15:35,240 --> 00:15:38,510
E agora, quando fazemos o traço, lá vamos nós. 

361
00:15:38,510 --> 00:15:40,240
Você pode ver que estamos piscando. 

362
00:15:40,235 --> 00:15:42,535
Quão legal é um phi dash? 

363
00:15:42,530 --> 00:15:44,380
Devemos ver que eu não entendo,

364
00:15:44,375 --> 00:15:46,735
ok, então isso não funcionou. 

365
00:15:46,730 --> 00:15:48,350
Não vamos nos preocupar com isso. 

366
00:15:48,350 --> 00:15:50,330
Vai ser difícil, talvez, cronometrar
 o tempo

367
00:15:50,330 --> 00:15:53,810
em que somos invisíveis com o arrojado,

368
00:15:53,810 --> 00:15:57,250
com os atiradores inimigos. 

369
00:15:57,245 --> 00:15:58,615
Não se preocupe com isso porque

370
00:15:58,610 --> 00:16:00,170
no próximo vídeo vamos

371
00:16:00,170 --> 00:16:03,290
criar algumas armadilhas de picos. 

372
00:16:03,290 --> 00:16:05,510
E essa é uma ótima maneira de
 testar

373
00:16:05,510 --> 00:16:08,090
nossa invencibilidade quando estamos arrojados. 

374
00:16:08,090 --> 00:16:10,700
Então, se passarmos pelos sprites morrerão. 

375
00:16:10,700 --> 00:16:14,060
Se andarmos pelos sprites Enquanto arrojados,

376
00:16:14,059 --> 00:16:16,509
não morreremos porque seremos invencíveis. 

377
00:16:16,505 --> 00:16:17,815
Então, isso é dito. 

378
00:16:17,810 --> 00:16:20,990
Há também mais uma coisa que, embora estejamos

379
00:16:20,990 --> 00:16:24,440
piscando aqui no controlador do jogador,

380
00:16:24,440 --> 00:16:26,110
não
 somos invencíveis. 

381
00:16:26,105 --> 00:16:28,585
E tornar o jogador invencível era o desafio,

382
00:16:28,580 --> 00:16:31,420
e acabei de perceber isso antes de desligarmos tudo. 

383
00:16:31,415 --> 00:16:33,625
Então, para evitar a confusão,

384
00:16:33,620 --> 00:16:37,700
o que vou fazer é voltar e onde estamos,

385
00:16:37,700 --> 00:16:39,500
o manipulador de saúde do jogador. 

386
00:16:39,500 --> 00:16:41,750
Vou criar um método que

387
00:16:41,750 --> 00:16:44,170
não seja um vazio público. 

388
00:16:44,165 --> 00:16:50,335
Faça camada sensível o que não era invisível,
 ok,

389
00:16:50,330 --> 00:16:53,590
faça seu símbolo de inventar. 

390
00:16:53,585 --> 00:16:55,945
E aqui vou, antes
 de

391
00:16:55,940 --> 00:16:57,890
mais nada, ativar a invencibilidade. 

392
00:16:57,890 --> 00:17:03,700
Assim é como e invencível será igual a verdadeiro. 

393
00:17:03,695 --> 00:17:06,025
Então vamos
 iniciar a

394
00:17:06,020 --> 00:17:09,600
corrotina do flash. 

395
00:17:11,680 --> 00:17:17,100
E, finalmente, também vamos iniciar o revestimento. 

396
00:17:18,310 --> 00:17:22,790
Por favor, deixe-me começar a cortejar

397
00:17:22,790 --> 00:17:26,840
o make para o que foi chamado? 

398
00:17:26,840 --> 00:17:28,990
Jogador não invencível. 

399
00:17:28,985 --> 00:17:33,005
Jogador não invencível. 

400
00:17:33,005 --> 00:17:36,665
Então agora temos um método que faz tudo,

401
00:17:36,665 --> 00:17:38,525
um método para governar todos eles. 

402
00:17:38,525 --> 00:17:41,405
Então, podemos remover este daqui. 

403
00:17:41,405 --> 00:17:44,305
Podemos remover o pisca e o verdadeiro. 

404
00:17:44,300 --> 00:17:47,510
E podemos fazer uma coisa e isso é chamado

405
00:17:47,510 --> 00:17:50,860
make player invencível,

406
00:17:50,855 --> 00:17:54,265
salvar isso e depois terminar o controlador do jogador. 

407
00:17:54,260 --> 00:17:57,350
Não precisamos chamar o pisca manualmente. 

408
00:17:57,350 --> 00:18:01,340
Podemos apenas dizer Get Component,

409
00:18:01,340 --> 00:18:08,030
Layer health handler, dot, make, player invencível. 

410
00:18:08,030 --> 00:18:09,080
Lá vamos nós. 

411
00:18:09,080 --> 00:18:11,110
Então, vamos testar isso novamente. 

412
00:18:11,105 --> 00:18:14,125
De volta ao nosso jogo, execute o jogo. 

413
00:18:14,120 --> 00:18:15,850
Devemos nós. 

414
00:18:15,845 --> 00:18:17,525
Não podemos fechar uma vez. 

415
00:18:17,525 --> 00:18:19,765
Fomos baleados duas vezes e morremos. 

416
00:18:19,760 --> 00:18:21,520
Qual é o problema? 

417
00:18:21,515 --> 00:18:23,305
Fizemos isso apenas 1 segundo? 

418
00:18:23,300 --> 00:18:25,580
Vamos passar pelo R3. 

419
00:18:25,580 --> 00:18:28,210
Três segundos, execute o jogo. 

420
00:18:28,205 --> 00:18:29,675
Mais uma vez. 

421
00:18:29,675 --> 00:18:33,985
Nós somos baleados uma, duas, três vezes. 

422
00:18:33,980 --> 00:18:35,150
Certo, então isso está funcionando. 

423
00:18:35,150 --> 00:18:37,570
E então, quando fazemos o traço, lá vamos nós. 

424
00:18:37,565 --> 00:18:39,395
Estamos arrojados. 

425
00:18:39,395 --> 00:18:41,395
Ok, não testamos corretamente. 

426
00:18:41,390 --> 00:18:43,510
No próximo vídeo, vamos nos certificar disso. 

427
00:18:43,505 --> 00:18:45,665
Sinto muito pela duração do vídeo. 

428
00:18:45,665 --> 00:18:48,175
Mais uma vez, isso é algo bom. 

429
00:18:48,170 --> 00:18:49,790
Acredito que aprendemos a

430
00:18:49,790 --> 00:18:51,830
iniciar uma corrotina a partir de um roteiro diferente. 

431
00:18:51,830 --> 00:18:53,870
E também aprendemos a criar

432
00:18:53,870 --> 00:18:57,250
um método e compactar tudo em um único lugar. 

433
00:18:57,245 --> 00:18:58,765
Acho que é bom,

434
00:18:58,760 --> 00:19:00,110
um bom hábito para eles. 

435
00:19:00,110 --> 00:19:01,670
Então, muito obrigado por assistir. 

436
00:19:01,670 --> 00:19:02,780
Espero que você esteja gostando,

437
00:19:02,780 --> 00:19:04,220
espero que esteja cometendo suas mudanças. 

438
00:19:04,220 --> 00:19:06,230
E verei você no próximo vídeo em que

439
00:19:06,230 --> 00:19:08,330
estaremos criando picos. 

440
00:19:08,330 --> 00:19:12,000
Também tivemos um desafio extra, o que é muito bom. 

