Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,766 --> 00:00:02,832
15. The Grid
Menu - Pause Menu
2
00:00:03,067 --> 00:00:05,800
Agora a gente vai fazer
o Menu de pause.
3
00:00:06,800 --> 00:00:09,375
Existem algumas maneiras
de implementar isso.
4
00:00:09,400 --> 00:00:12,433
A gente pode colocar, por
exemplo, no Player Controller.
5
00:00:12,631 --> 00:00:15,100
Que é um bom lugar pra gente
colocar o Menu de pause.
6
00:00:15,513 --> 00:00:18,448
Eu posso tentar seguir a mesma
lógica que eu fiz anteriormente
7
00:00:18,473 --> 00:00:23,515
e colocar dentro do GameMode, que
a gente colocou o Update UI.
8
00:00:25,199 --> 00:00:27,220
Só que o problema é que
o GameMode não vive.
9
00:00:27,511 --> 00:00:29,978
Ele não sobrevive
na troca de Level.
10
00:00:30,003 --> 00:00:32,600
Quando eu trocar o Level,
eu tenho que usar o mesmo
11
00:00:32,625 --> 00:00:35,425
GameMode ou então implementar
a mesma estrutura
12
00:00:35,450 --> 00:00:37,354
no GameMode novo
que eu utilizar.
13
00:00:37,742 --> 00:00:40,875
A gente pode colocar a
lógica no HeroChar, né?
14
00:00:43,330 --> 00:00:45,323
E por causa da gente estar
seguindo a questão…
15
00:00:45,348 --> 00:00:48,281
O Hero tem as opções de input.
16
00:00:48,476 --> 00:00:51,138
Por exemplo, a gente tem o botão
de Jump, o botão de Sprint…
17
00:00:51,163 --> 00:00:53,046
A gente poderia ter um botão
de pause aqui também.
18
00:00:53,605 --> 00:00:55,446
São muitas variações, né.
19
00:00:55,925 --> 00:00:57,578
De como a gente pode
implementar isso.
20
00:00:57,603 --> 00:00:59,464
A gente está pensando
aqui num jogo pequeno.
21
00:00:59,708 --> 00:01:02,442
Então qualquer um dos
caminhos dá muito certo.
22
00:01:02,467 --> 00:01:05,245
O ideal que eu posso sugerir pra
você é criar essas lógicas,
23
00:01:05,270 --> 00:01:07,008
por exemplo, no
Player Controller.
24
00:01:07,667 --> 00:01:11,049
Mas pra não mudar a nossa lógica
que a gente tá fazendo nesse jogo,
25
00:01:11,752 --> 00:01:13,415
eu posso fazer isso no HeroChar.
26
00:01:13,761 --> 00:01:15,583
Porque é ele que tá
cuidando dos meus Inputs.
27
00:01:15,608 --> 00:01:20,178
Vou criar um novo Input pra que ele dispare
o Menu de pause quando eu apertar o botão.
28
00:01:21,602 --> 00:01:26,335
A gente vai fazer o despausar o jogo
pelo botão e também pelo teclado.
29
00:01:26,585 --> 00:01:27,633
Vamos começar a
fazer isso então.
30
00:01:27,658 --> 00:01:30,156
Primeiramente, vou
fazer um novo HUD.
31
00:01:30,665 --> 00:01:31,865
Que é o Menu de pause.
32
00:01:31,890 --> 00:01:33,314
Novo Widget.
33
00:01:34,910 --> 00:01:38,604
Menu de pause então seria,
vou colocar como Menupause.
34
00:01:40,025 --> 00:01:43,359
Aí dentro desse Menu a gente vai
ter os botões pra despausar,
35
00:01:43,384 --> 00:01:46,283
pra sair do jogo e pra
voltar ao Menu principal.
36
00:01:46,308 --> 00:01:48,046
Por enquanto, a gente não
tem o Menu principal, né?
37
00:01:48,702 --> 00:01:49,776
Vamos começar a criar então.
38
00:01:49,801 --> 00:01:51,534
Vou criar um Vertical Box.
39
00:01:52,584 --> 00:01:53,973
Vertical Box…
40
00:01:54,707 --> 00:01:57,035
Porque eu vou ter botões
um em cima do outro.
41
00:01:57,060 --> 00:01:58,784
Então Vertical Box é
perfeito pra isso.
42
00:01:58,984 --> 00:02:01,127
Eu vou centralizar o
meu Vertical Box.
43
00:02:01,409 --> 00:02:03,785
Posição zero zero.
Anchor Point no meio…
44
00:02:03,810 --> 00:02:05,343
O alinhamento 0.5, 0.5.
45
00:02:05,368 --> 00:02:06,930
A gente já fez
isso muitas vezes.
46
00:02:07,419 --> 00:02:09,286
E vou trazer um primeiro botão.
47
00:02:09,516 --> 00:02:10,516
Button.
48
00:02:10,757 --> 00:02:14,157
E vou criar primeiro um botão
pra que depois a gente
49
00:02:14,182 --> 00:02:17,285
possa criar os outros
só duplicando este.
50
00:02:17,706 --> 00:02:22,399
Então esse botão eu vou chamar
de “BotãoVoltarAoJogo”.
51
00:02:22,835 --> 00:02:27,087
Colocar aqui: VoltarAoJogoBotão.
Button.
52
00:02:28,236 --> 00:02:30,826
Button. Pra gente continuar com a
mesma estrutura de inglês que a gente
53
00:02:30,851 --> 00:02:32,534
está utilizando para os botões.
54
00:02:32,559 --> 00:02:36,359
Vou trazer um texto. Pra ter
um texto neste botão. Text.
55
00:02:36,384 --> 00:02:37,851
Jogo em cima do botão.
56
00:02:38,841 --> 00:02:44,933
E esse texto eu vou nomear
como VoltarAoJogoText.
57
00:02:44,958 --> 00:02:47,691
Aqui no Text eu coloco
“Voltar ao Jogo”.
58
00:02:52,411 --> 00:02:55,411
Vertical Box eu coloco
como Size to Content.
59
00:02:55,436 --> 00:02:58,036
Ele pega o tamanho
inteiro do negócio.
60
00:02:58,061 --> 00:03:01,730
Posso trocar a fonte, posso trocar
o tamanho da fonte, cores e tal.
61
00:03:01,755 --> 00:03:03,784
Vou fazer isso aqui
um pouquinho depois.
62
00:03:04,378 --> 00:03:07,285
Primeiro eu quero implementar isso
pra eu conseguir ver dentro do jogo.
63
00:03:07,321 --> 00:03:08,727
Compilar e salvar.
64
00:03:08,985 --> 00:03:10,385
Tá salvo esse Widget.
65
00:03:10,459 --> 00:03:12,326
A gente vai implementar
ele então.
66
00:03:12,723 --> 00:03:15,285
Primeira coisa: eu vou fazer um
botão pra gente pausar o jogo.
67
00:03:15,310 --> 00:03:16,910
Então: Project Settings.
68
00:03:16,935 --> 00:03:19,585
Aqui em Action Mapping a gente
tem nossos botões setados.
69
00:03:19,610 --> 00:03:20,626
Eu vou criar um novo.
70
00:03:20,871 --> 00:03:22,585
Eu vou criar um botão.
71
00:03:23,036 --> 00:03:26,316
É… pauseButton.
72
00:03:26,897 --> 00:03:31,831
E já vou selecionar, por exemplo, Enter
no teclado, que é o botão de Start.
73
00:03:33,499 --> 00:03:37,823
Vou colocar o botão P no teclado.
De pause, P de pause.
74
00:03:38,259 --> 00:03:43,370
E no botão do controle do
videogame eu coloco Special.
75
00:03:43,951 --> 00:03:46,127
Special GamePad Right.
76
00:03:46,306 --> 00:03:47,906
Que é o botãozinho do Start.
77
00:03:48,917 --> 00:03:51,250
Aqui no HeroChar:
pauseButton, né.
78
00:03:52,607 --> 00:03:55,250
E a partir daqui, então, eu
vou chamar a lógica de pause.
79
00:03:55,577 --> 00:03:58,002
Como eu comentei,
aqui no meu GameMode
80
00:03:58,027 --> 00:04:00,680
a gente criou a HUD do Viewport.
81
00:04:00,705 --> 00:04:03,972
Então a gente poderia criar
também a HUD do pauseMenu.
82
00:04:04,869 --> 00:04:06,751
E acessar ela quando
for necessário.
83
00:04:07,499 --> 00:04:08,833
Vou fazer isso aqui.
84
00:04:09,341 --> 00:04:12,751
Depois, no próximo Level que a gente
tiver, a gente vai usar o mesmo GameMode
85
00:04:12,776 --> 00:04:14,230
pra gente ter a mesma estrutura.
86
00:04:14,520 --> 00:04:16,751
Então eu vou criar essa
Widget no começo do jogo.
87
00:04:17,402 --> 00:04:18,872
Create Widget.
88
00:04:19,837 --> 00:04:22,002
A Widget é pause Menu.
89
00:04:22,027 --> 00:04:24,751
Ele vai criar uma cópia,
um objeto dessa classe.
90
00:04:25,343 --> 00:04:26,507
Menu de pause.
91
00:04:27,444 --> 00:04:37,120
O valor que retornar eu coloco numa variável e
eu chamo essa variável de pause. Menupausarefer.
92
00:04:39,509 --> 00:04:41,376
Compilar o nosso amigo aqui.
93
00:04:42,297 --> 00:04:49,095
E o Controller. PlayerController é o
Owner Player desse menu de pause.
94
00:04:50,123 --> 00:04:51,501
Isso acontece no Begin Play.
95
00:04:51,526 --> 00:04:55,569
Então eu vou adicionar um novo
pin aqui e eu conecto aqui.
96
00:04:57,323 --> 00:04:59,323
Tenho um Menu de pause criado.
97
00:04:59,686 --> 00:05:02,143
Por enquanto ele não aparece
na tela porque eu não chamei.
98
00:05:02,488 --> 00:05:07,221
Vou criar um comentário.
Create Menu pause.
99
00:05:09,863 --> 00:05:11,785
E, maravalha. Tá aí.
100
00:05:11,975 --> 00:05:13,501
A gente vai fazer um
Evento então aqui,
101
00:05:13,526 --> 00:05:17,326
nesse GameMode pra que ele
pause o jogo quando precisar.
102
00:05:17,562 --> 00:05:20,495
A gente já tem aqui um
Evento de Update UI.
103
00:05:20,748 --> 00:05:22,812
Vou criar um Evento
novo aqui embaixo.
104
00:05:23,533 --> 00:05:24,765
Custom Event.
105
00:05:27,375 --> 00:05:29,274
Eu vou chamar de pause Game.
106
00:05:32,418 --> 00:05:35,892
A primeira coisa que a gente faz
pra pausar o jogo é SetGamepaused.
107
00:05:36,746 --> 00:05:37,946
Vou deixar ligado.
108
00:05:38,699 --> 00:05:40,971
E o contrário seria UnpauseGame.
109
00:05:40,996 --> 00:05:46,607
Então eu vou criar um novo
Evento chamado de UnpauseGame.
110
00:05:48,557 --> 00:05:51,875
E colocar SetGamepaused
como falso.
111
00:05:54,018 --> 00:05:57,752
Quando isso acontecer a gente tem que
colocar o Widget, o menu na tela.
112
00:05:58,422 --> 00:06:02,422
Então a gente vai pegar aquele
Menu que a gente criou aqui.
113
00:06:03,053 --> 00:06:04,120
O Menu de pause.
114
00:06:04,145 --> 00:06:06,002
Menupausarefer e vai
colocar na tela.
115
00:06:06,800 --> 00:06:11,451
Então, Menupausarefer
Add to Viewport.
116
00:06:12,700 --> 00:06:15,500
Antes disso a gente tem que
remover tudo o que tá na tela
117
00:06:15,525 --> 00:06:17,592
que é o HUD do jogador, lembra?
118
00:06:18,278 --> 00:06:19,001
A gente tem que
tirar isso da tela.
119
00:06:19,402 --> 00:06:21,202
Então eu vou pegar
o HUD do jogador.
120
00:06:21,755 --> 00:06:24,002
Vou remover da tela.
121
00:06:24,576 --> 00:06:25,843
Remove from Parent.
122
00:06:28,800 --> 00:06:32,252
Depois eu coloco o Menu de pause.
Maravilha então.
123
00:06:32,277 --> 00:06:34,543
Quando eu pauso o jogo,
eu pauso o jogo.
124
00:06:34,579 --> 00:06:37,779
Eu tiro o HUD da tela e
coloco o Menu de pause.
125
00:06:37,804 --> 00:06:41,920
Quando eu despausar o jogo, eu vou
tirar o Menu de pause da tela.
126
00:06:42,226 --> 00:06:47,250
Pego o meu Menu pause.
Remove from Parent.
127
00:06:52,835 --> 00:06:55,168
E volto a adicionar
o HUD na tela,
128
00:06:55,193 --> 00:06:56,540
pro jogador ver o HUD de novo.
129
00:06:56,925 --> 00:06:58,500
Basicamente, é o contrário.
130
00:06:58,799 --> 00:07:01,532
Eu adiciono na Viewport
o HUD novamente.
131
00:07:01,557 --> 00:07:04,002
Add to Viewport.
132
00:07:05,313 --> 00:07:06,252
Por enquanto é isso.
133
00:07:06,277 --> 00:07:08,744
A parte básica. Por
enquanto é isso.
134
00:07:11,001 --> 00:07:12,201
Compilar e salvar.
135
00:07:12,226 --> 00:07:14,250
Nenhum desses Eventos tá
sendo chamado por enquanto.
136
00:07:15,558 --> 00:07:17,002
A gente tem que
chamar esses caras.
137
00:07:17,027 --> 00:07:18,501
Eu vou chamar esses
caras no HeroChar.
138
00:07:19,175 --> 00:07:21,752
HeroChar, quando eu
apertar o botão de pause.
139
00:07:21,777 --> 00:07:25,446
Então a primeira vez que eu apertar
aquele a gente vai pausar o jogo.
140
00:07:25,471 --> 00:07:28,516
Vou chamar aqui GameMode.
141
00:07:28,766 --> 00:07:31,252
Pego o GameMode, a referência,
a gente já tem ela pronta.
142
00:07:31,836 --> 00:07:34,751
E eu chamo pauseGame.
143
00:07:36,614 --> 00:07:37,614
Pronto.
144
00:07:39,283 --> 00:07:41,451
Vamos só testar por
enquanto se tá funcionando.
145
00:07:41,476 --> 00:07:43,180
Compilar e salvar.
146
00:07:43,996 --> 00:07:44,642
Play.
147
00:07:44,801 --> 00:07:49,002
Se eu apertar o P, pausei o jogo. Não
tem como despausar por enquanto.
148
00:07:49,139 --> 00:07:53,002
Então pra despausar o jogo eu preciso
chamar o Evento de UnpauseGame
149
00:07:53,027 --> 00:07:54,627
que está lá no GameMode.
150
00:07:54,652 --> 00:07:59,250
Então, Unpause game. A gente
poderia fazer aqui uma das coisas
151
00:07:59,275 --> 00:08:02,500
que a gente pode pensar.
Seria um FlipFlop.
152
00:08:04,422 --> 00:08:06,797
E aí a primeira vez que
eu aperto eu pauso o jogo
153
00:08:06,822 --> 00:08:08,940
e a segunda vez que eu
aperto eu despauso o jogo.
154
00:08:09,243 --> 00:08:13,002
O problema dessa técnica, desse jeito,
é que a gente pode despausar o jogo
155
00:08:13,027 --> 00:08:16,473
de outras maneiras, como, por exemplo,
clicar no botão de despausar o jogo.
156
00:08:16,930 --> 00:08:20,268
E aí eu vou clicar no botão de
despausar e eu não chamei o FlipFlop
157
00:08:20,480 --> 00:08:21,752
porque eu não apertei o botão.
158
00:08:22,084 --> 00:08:25,502
E a próxima vez que eu chamar o FlipFlop,
ele vai chamar de volta o Unpause Game.
159
00:08:25,527 --> 00:08:26,752
Vai dar um conflitinho aí.
160
00:08:27,693 --> 00:08:29,502
Então o FlipFlop não é
a melhor opção aqui.
161
00:08:29,683 --> 00:08:35,002
A melhor opção é a gente fazer um Branch pra
gente ver se o jogo está pausado ou não.
162
00:08:36,083 --> 00:08:38,752
Pra fazer isso é só a gente
pegar Get Game paused.
163
00:08:41,631 --> 00:08:42,631
Is Game paused.
164
00:08:43,832 --> 00:08:44,752
Essa é a condição.
165
00:08:45,163 --> 00:08:49,475
Se ele está pausado, se
isso for verdadeiro…
166
00:08:50,624 --> 00:08:55,752
Então você Unpause game. Se ele não
está pausado, você pause o jogo.
167
00:08:55,957 --> 00:08:57,752
Beleza? Só a gente
mudou a ordem aqui.
168
00:08:58,485 --> 00:09:01,752
Espero que tenha ficado claro.
A gente faz dessa maneira.
169
00:09:01,901 --> 00:09:07,502
FlipFlop não vai dar um resultado legal
pra gente porque vai dar conflito com…
170
00:09:08,015 --> 00:09:12,287
Quando a gente for clicar com o
mouse no botão de despausar.
171
00:09:12,407 --> 00:09:14,501
Compilar e salvar. Vamos
ver se vai funcionar?
172
00:09:14,526 --> 00:09:16,395
Eu já sei que não vai funcionar
e eu vou mostrar porquê.
173
00:09:16,589 --> 00:09:17,143
Play.
174
00:09:17,872 --> 00:09:19,799
Aperto o P.
175
00:09:19,939 --> 00:09:23,939
Apertei pause. Aperto o P de
novo e não despausa. Tá vendo?
176
00:09:23,964 --> 00:09:24,609
Por quê?
177
00:09:24,796 --> 00:09:28,002
Porque este Evento aqui eu vou
clicar neste Evento. Neste nó.
178
00:09:28,479 --> 00:09:33,250
Aqui, em detalhes, no lado direito,
a gente tem Execute When paused.
179
00:09:33,688 --> 00:09:38,250
Tá desligado. Então, este Evento não pode
ser executado quando o jogo está pausado.
180
00:09:38,275 --> 00:09:39,608
Tenho que clicar aqui.
181
00:09:40,068 --> 00:09:44,501
Deixar ligado esse cara e agora este Evento pode
ser executado quando o jogo estiver pausado.
182
00:09:45,102 --> 00:09:47,502
Então, save. Play.
183
00:09:48,117 --> 00:09:52,054
Aperto o P, pause, aperto o P, despause,
aperto o P, pause, aperto o P, despause.
184
00:09:52,079 --> 00:09:55,252
Aí o HUD tá indo embora. O
HUD do player vai embora.
185
00:09:55,545 --> 00:09:58,612
Ele só coloca o HUD… O
menu de pause em cima.
186
00:09:59,657 --> 00:10:03,502
Agora a gente tem que implementar um menuzinho
pra eu poder clicar ali e despausar o jogo.
187
00:10:03,828 --> 00:10:04,699
Certo?
188
00:10:04,833 --> 00:10:08,102
Eu vou colocar aqui só... pause.
189
00:10:08,541 --> 00:10:12,002
Aqui a gente completou, basicamente,
o que o jogador vai fazer.
190
00:10:12,296 --> 00:10:16,001
Pra gente poder usar o Menu, a primeira coisa que
a gente tem que fazer é colocar o mouse, né?
191
00:10:16,839 --> 00:10:18,906
Então eu venho em GameMode, né?
192
00:10:18,935 --> 00:10:21,750
Este Evento de pauseGame eu
tenho que mostrar o mouse.
193
00:10:22,185 --> 00:10:25,882
Então, Show Mouse Cursor.
194
00:10:25,907 --> 00:10:29,129
Se isso não aparecer pra você,
você desliga o Context Sensitive,
195
00:10:29,154 --> 00:10:34,502
porque o Mouse Cursor é uma função
da classe Player Controller,
196
00:10:34,527 --> 00:10:36,752
então ele não vai entender se
ele estiver ligado. Tá vendo?
197
00:10:36,969 --> 00:10:41,250
A gente tira e coloca Set
Mouse Cursor ligado.
198
00:10:42,855 --> 00:10:44,900
Quando a gente pausar o jogo
a gente quer ver o mouse
199
00:10:45,624 --> 00:10:54,363
e a gente quer ver o mouse no Get
Player Controller, Controller 0.
200
00:10:55,115 --> 00:10:56,866
Quando ele despausar o
jogo é ao contrário.
201
00:10:57,452 --> 00:10:59,040
Copiar esse cara.
CTRL C, CTRL V…
202
00:11:00,987 --> 00:11:02,987
A gente não quer mais o mouse.
203
00:11:04,634 --> 00:11:05,834
Compilar e salvar.
204
00:11:06,064 --> 00:11:07,064
Play.
205
00:11:08,231 --> 00:11:10,993
Pause o jogo. Tô vendo o mouse.
Posso até clicar aqui.
206
00:11:17,525 --> 00:11:21,501
Agora a gente tem que implementar o Menu
de pause e os botões sendo clicados.
207
00:11:21,526 --> 00:11:24,750
A melhor maneira de fazer isso
é lá na Widget do Menu pause
208
00:11:24,775 --> 00:11:28,203
a gente implementar as
funções dos botões.
209
00:11:28,228 --> 00:11:31,993
Então eu vou selecionar esse botão.
Voltar Ao Jogo Button.
210
00:11:32,026 --> 00:11:34,750
E aqui no lado direito a
gente tem os Eventos.
211
00:11:35,167 --> 00:11:38,002
Eu quero o Evento OnClicked.
O Evento quando eu clicar.
212
00:11:38,392 --> 00:11:44,259
Quando eu clicar aqui aparece o gráfico e tem
toda a funcionalidade de clicar no botão.
213
00:11:44,284 --> 00:11:46,002
Então o que eu vou fazer aqui
quando eu clicar nesse botão?
214
00:11:46,027 --> 00:11:47,027
SetGamepaused.
215
00:11:51,479 --> 00:11:52,479
Desligado.
216
00:11:52,504 --> 00:11:55,037
A gente vai desligar
o pause do game.
217
00:11:55,062 --> 00:11:56,329
Basicamente é isso.
218
00:11:56,696 --> 00:11:58,296
Compilar e salvar. Play.
219
00:11:59,196 --> 00:12:00,502
Aperto o pause. Pausou o jogo.
220
00:12:00,527 --> 00:12:02,527
Se eu clicar, despausa o jogo.
221
00:12:02,841 --> 00:12:06,107
Só que vocês perceberam
que o Menu não saiu, né?
222
00:12:06,360 --> 00:12:09,889
Porque toda essa questão do
Menu está aqui no GameMode.
223
00:12:10,145 --> 00:12:12,001
Tirar o Menu… Botar
o Menu e tal…
224
00:12:12,083 --> 00:12:13,752
Então eu vou chamar
essa função também.
225
00:12:14,120 --> 00:12:16,502
A melhor maneira é a gente
chamar a função direto.
226
00:12:16,634 --> 00:12:18,253
Pra gente chamar a função
que tá lá no GameMode
227
00:12:18,278 --> 00:12:22,252
a primeira coisa que eu tenho que fazer é
meu Widget precisa saber do meu GameMode.
228
00:12:22,277 --> 00:12:24,250
Então eu preciso fazer
um Cast pra ele.
229
00:12:24,748 --> 00:12:28,661
Vou fazer isso no EventConstruct, que
é quando essa Widget é construída.
230
00:12:29,991 --> 00:12:31,752
GetGameMode…
231
00:12:34,234 --> 00:12:36,855
CastTo GameMode…
232
00:12:36,880 --> 00:12:38,426
GamePlay, GameMode.
233
00:12:38,917 --> 00:12:40,651
Coloca isso numa variável.
234
00:12:40,936 --> 00:12:47,689
Eu vou chamar de
“GamePlayGameModeRefer”.
235
00:12:48,248 --> 00:12:51,502
Nome gigantesco, mas, mostra
exatamente pra mim o que é.
236
00:12:53,650 --> 00:12:58,001
Então assim que eu clicar nesse cara, em vez
de só despausar o Menu, joga fora isso.
237
00:12:58,187 --> 00:13:00,368
Pegar uma função que está
pronta lá no meu GameMode.
238
00:13:00,948 --> 00:13:02,622
Que se chama UnpauseGame.
239
00:13:05,346 --> 00:13:06,346
Pronto.
240
00:13:07,611 --> 00:13:10,178
Agora o HUD vai sair.
Vai tudo funcionar.
241
00:13:10,644 --> 00:13:11,910
Agora vamos testar.
242
00:13:12,721 --> 00:13:14,188
Aperto o P, deu pause.
243
00:13:14,785 --> 00:13:16,585
Cliquei aqui… Deu despause.
244
00:13:17,395 --> 00:13:19,989
Você percebe que deu alguns
probleminhas. Tá vendo?
245
00:13:20,334 --> 00:13:21,667
Meu input mode… tal…
246
00:13:22,243 --> 00:13:25,252
Eu continuo com o mouse. Se
eu clicar, o mouse some.
247
00:13:25,277 --> 00:13:27,002
A gente tem que começar a
arrumar essas coisinhas aí.
248
00:13:27,124 --> 00:13:28,991
Isso é o foco da Widget, né?
249
00:13:29,353 --> 00:13:30,650
Então, GamePlayGameMode.
250
00:13:30,999 --> 00:13:36,403
Quando despausar o jogo eu preciso
colocar o meu GameMode apenas como Game.
251
00:13:36,428 --> 00:13:41,049
Então, SetInputModeGameOnly.
252
00:13:43,286 --> 00:13:46,151
Target: PlayerController.
Então conecta esse cara aqui.
253
00:13:46,802 --> 00:13:48,385
Então basicamente o que
eu coloquei agora foi:
254
00:13:48,427 --> 00:13:51,900
Quando despausar o jogo, você
coloca o input mode como Game Only.
255
00:13:52,431 --> 00:13:53,698
Vamos testar agora.
256
00:13:54,430 --> 00:13:57,400
Aperto o Play. Quando eu
clicar aqui despausar o jogo.
257
00:13:57,758 --> 00:14:00,652
Então agora eu não preciso dar
o foco novamente no jogo.
258
00:14:01,176 --> 00:14:03,402
No entanto, eu tô fazendo
dois cliques, né?
259
00:14:04,350 --> 00:14:06,402
Aperta o P e eu não
consigo clicar.
260
00:14:06,427 --> 00:14:08,900
Tem que clicar uma vez e
depois clicar de novo.
261
00:14:09,606 --> 00:14:10,677
Tem que trocar isso também.
262
00:14:10,702 --> 00:14:12,496
Então isso a gente
vai fazer aqui ó.
263
00:14:13,095 --> 00:14:14,628
No pause Game.
264
00:14:14,653 --> 00:14:19,053
Quando eu pausar o jogo você tem
que colocar o SetInputMode como…
265
00:14:24,582 --> 00:14:25,582
UIOnly.
266
00:14:27,408 --> 00:14:30,075
Aí a gente vai colocar
Widget de Focus.
267
00:14:30,100 --> 00:14:33,244
Ele tem que focar na Widget pra
gente não precisar clicar 2 vezes.
268
00:14:33,529 --> 00:14:35,856
Lembra que a gente viu isso
tudo na aula de HUD, né?
269
00:14:36,344 --> 00:14:37,677
Não é novidade, não.
270
00:14:37,702 --> 00:14:40,400
Widget Focus é o
Menu pause Refer.
271
00:14:40,425 --> 00:14:41,425
Vem pra cá.
272
00:14:44,535 --> 00:14:45,902
Tudo isso pra fazer
um menu de pause.
273
00:14:45,937 --> 00:14:48,713
E Target é o controle.
274
00:14:49,095 --> 00:14:50,095
Beleza.
275
00:14:50,482 --> 00:14:51,648
Vamos ver se funciona então?
276
00:14:51,897 --> 00:14:53,233
Save, Play…
277
00:14:53,607 --> 00:14:54,607
Aperto o P.
278
00:14:55,127 --> 00:14:59,509
Ó, já tá com foco na Widget.
Não preciso clicar 2 vezes.
279
00:14:59,569 --> 00:15:00,836
Cliquei, despausou.
280
00:15:00,861 --> 00:15:01,861
Aperto o P.
281
00:15:02,251 --> 00:15:03,251
Não despausa.
282
00:15:03,972 --> 00:15:05,401
Percebeu que eu aperto
o P e não despause.
283
00:15:05,453 --> 00:15:06,224
Por quê?
284
00:15:06,438 --> 00:15:10,651
É só Input Mode e o
Hero tá no Play.
285
00:15:10,676 --> 00:15:11,400
Ele tá como Play.
286
00:15:11,425 --> 00:15:13,958
Então eu vou ter que
tirar esse cara.
287
00:15:14,358 --> 00:15:18,652
Ao invés de ser só Input Mode
tem que ser Game and Input.
288
00:15:18,901 --> 00:15:23,651
Set Input Mode Game and UI.
289
00:15:24,079 --> 00:15:25,412
Agora vai dar certo.
290
00:15:26,792 --> 00:15:28,725
Target é o Player Controller.
291
00:15:28,954 --> 00:15:32,924
Widget to focus é o Player Menu.
O mouse menu.
292
00:15:33,970 --> 00:15:34,901
Compilar e salvar.
293
00:15:34,926 --> 00:15:36,983
Caramba, é bastante coisa, né?
Play.
294
00:15:37,709 --> 00:15:41,661
Aperto o P. Despausa. Aperto
o P, clica, despausa.
295
00:15:42,132 --> 00:15:43,999
E sem um monte de cliques, né?
296
00:15:44,350 --> 00:15:47,152
Tudo isso pro Menu de
pause mas tá funcionando.
297
00:15:47,769 --> 00:15:51,046
Vou voltar aqui no meu Menu de pause
pra gente fazer os outros botões.
298
00:15:52,296 --> 00:15:54,896
Tem esse botão aqui.
Vou duplicar ele.
299
00:15:55,015 --> 00:15:59,450
CTRL C, copy. CTRL v, paste.
300
00:15:59,475 --> 00:16:05,867
Este botão vai ser o botão de Menu
Principal, que a gente ainda não tem.
301
00:16:06,371 --> 00:16:07,452
O botão vai tá só aí.
302
00:16:09,451 --> 00:16:11,452
Vou fazer a mesma
coisa com o texto.
303
00:16:11,680 --> 00:16:17,730
Vou mudar o texto para
Menu Principal. Text.
304
00:16:17,976 --> 00:16:20,701
Aqui no Menu Principal é
Menu Principal Button.
305
00:16:24,383 --> 00:16:27,999
Este texto vai ser
Voltar Menu Principal.
306
00:16:29,292 --> 00:16:31,369
Falta mais um botão
que é Sair do Jogo.
307
00:16:31,776 --> 00:16:36,974
CTRL C, copy. CTRL V.
308
00:16:37,262 --> 00:16:39,840
Aqui no vertical box.
CTRL V, paste.
309
00:16:41,034 --> 00:16:46,146
Este botão se chama
QuitGameButton.
310
00:16:47,430 --> 00:16:52,931
E o texto se chama QuitGameText.
311
00:16:53,523 --> 00:16:55,710
E o texto aqui se
chama Quit Game.
312
00:16:56,305 --> 00:16:57,450
Sair do jogo, né.
313
00:16:57,475 --> 00:16:59,942
Estamos em português.
“Sair do Jogo”
314
00:17:00,375 --> 00:17:01,975
Então eu tenho os 3 botões aí.
315
00:17:02,372 --> 00:17:04,014
Menu principal, por enquanto,
não vai funcionar.
316
00:17:04,039 --> 00:17:05,702
Vou deixar o Evento dele pronto.
317
00:17:07,151 --> 00:17:09,217
Vou colocar o Evento OnClicked.
318
00:17:09,983 --> 00:17:13,452
Menu principal, quando a gente clicar
vai voltar pro Menu Principal.
319
00:17:13,488 --> 00:17:15,354
Mas, por enquanto, vai
ser só um Print String.
320
00:17:15,877 --> 00:17:19,701
Eu vou chamar de Menu Principal.
321
00:17:22,326 --> 00:17:25,259
E o outro botãozinho
vai ser “Sair do Jogo”
322
00:17:25,499 --> 00:17:26,499
Eu clico aqui.
323
00:17:27,421 --> 00:17:28,421
OnClicked.
324
00:17:29,399 --> 00:17:31,450
Quando o cara clicar aqui
ele vai sair do jogo.
325
00:17:31,948 --> 00:17:34,681
E pra sair do jogo eu
só faço um QuitGame.
326
00:17:35,245 --> 00:17:36,779
É uma função: QuitGame.
327
00:17:38,058 --> 00:17:43,791
Eu posso especificar o jogador aqui colocando
o PlayerController. Get Player Controller.
328
00:17:47,972 --> 00:17:48,972
E pronto.
329
00:17:50,853 --> 00:17:53,787
Eu tenho os 3 botõezinhos
aí no meu HUD.
330
00:17:54,329 --> 00:17:55,529
Compilar e salvar.
331
00:17:55,826 --> 00:17:56,637
Play.
332
00:17:57,034 --> 00:17:58,034
Pause Menu.
333
00:17:58,356 --> 00:18:00,644
Menu Principal ainda
não tá funcionando.
334
00:18:00,828 --> 00:18:02,828
Sair do jogo, ele sai do jogo.
335
00:18:02,991 --> 00:18:05,252
A gente tem que ainda
melhorar a cara desse Menu.
336
00:18:05,277 --> 00:18:09,188
Tá meio feinho. Tem que
fazer um poquinho melhor.
337
00:18:09,378 --> 00:18:11,978
A gente faz isso na
próxima aula então.
338
00:18:13,756 --> 00:18:16,023
A gente faz isso
na próxima aula.
29076
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.