﻿1
00:00:04,460 --> 00:00:05,060
‫Olá e bem-vindo.

2
00:00:05,060 --> 00:00:07,060
‫Nesta palestra, algo um pouco atrasado.

3
00:00:07,070 --> 00:00:12,050
‫Teremos uma mira em nosso jogo que nos permitirá mirar facilmente.

4
00:00:12,050 --> 00:00:17,720
‫Também vamos remover essa mira, que faz parte de uma exibição geral de cerca viva, que temos, e

5
00:00:18,200 --> 00:00:21,920
‫poderemos removê-la quando estivermos exibindo uma derrota ou quando você morrer.

6
00:00:21,920 --> 00:00:24,200
‫Vamos mergulhar e ver como isso acontece.

7
00:00:25,610 --> 00:00:32,090
‫Então, gostaríamos que alguma interface do usuário estivesse em nosso mundo para nos mostrar quanta saúde temos, mas também para nos dar uma

8
00:00:32,090 --> 00:00:32,660
‫retícula.

9
00:00:32,660 --> 00:00:37,550
‫Porque no momento ou retícula ou mira, porque no momento em que estamos tentando atirar em

10
00:00:37,550 --> 00:00:40,760
‫alguém, é muito difícil ficar sem esse ponto de referência.

11
00:00:40,940 --> 00:00:46,430
‫Então, vou para a nossa pasta de interface do usuário clicando com o botão direito aqui

12
00:00:46,940 --> 00:00:53,840
‫para criar novos elementos de widget de interface de usuário e seremos um prefixo e apenas chamaremos HD para exibição de heads-up.

13
00:00:54,470 --> 00:00:57,140
‫Agora pode ir em frente e abrir isso.

14
00:00:57,500 --> 00:01:03,920
‫Vou seguir em frente e criar primeiro uma mira e você pode fazer isso com um gráfico de mira se

15
00:01:03,920 --> 00:01:08,510
‫tiver uma, então você pode usar o componente de imagem lá ou o que

16
00:01:08,510 --> 00:01:14,540
‫vou fazer é apenas adicione componentes de texto e eu vou colocar um sinal de mais e essa será

17
00:01:14,570 --> 00:01:17,240
‫minha mira, bem simples, muito fácil de prototipar.

18
00:01:17,240 --> 00:01:23,060
‫Então, o que vou fazer é alinhar meu texto para que seja justificado nesse centro.

19
00:01:23,060 --> 00:01:30,830
‫Então eu vou até a área do painel de tela de slots e vou verificar o conteúdo de tamanho assim, para que tudo fique

20
00:01:30,830 --> 00:01:33,530
‫bem e firme em torno da mira.

21
00:01:34,040 --> 00:01:40,880
‫Então eu vou configurar meu alinhamento 3. 5 e o ponto cinco para alinhá-lo ao centro

22
00:01:40,880 --> 00:01:41,720
‫da mira.

23
00:01:41,720 --> 00:01:47,480
‫E então, finalmente, queremos configurar uma âncora para usarmos o padrão de centralização.

24
00:01:47,510 --> 00:01:53,180
‫E então eu vou configurar minha posição para zero zero para que a mira fique bem no meio.

25
00:01:53,480 --> 00:01:56,420
‫Vou mudar a cor para vermelho, de modo que seja agradável e facilmente visível.

26
00:01:56,420 --> 00:02:01,940
‫Há uma mira ali e talvez eu também vá aumentar um pouco o tamanho dessa mira.

27
00:02:02,270 --> 00:02:05,240
‫Vamos jogar ver como isso se sente quando problema.

28
00:02:05,480 --> 00:02:10,940
‫Na verdade, não estamos vendo essa mira no mundo, então vou ter um desafio para você, porque

29
00:02:10,940 --> 00:02:14,210
‫são coisas que fizemos antes em nosso controlador de jogador.

30
00:02:14,210 --> 00:02:19,010
‫Criamos widgets e os adicionamos à janela de visualização e quero que você faça o

31
00:02:19,010 --> 00:02:24,920
‫mesmo novamente para gerar uma interface de exibição de heads-up, você adicionará no controlador do jogador para começar a jogar.

32
00:02:24,920 --> 00:02:29,930
‫Então você pode ter que ir em frente e adicionar novamente, jogar no seu controlador de jogador, adicionar configuração ao

33
00:02:29,930 --> 00:02:35,120
‫cabeçalho do arquivo para que você possa configurar o esquema do widget que deseja usar para o display heads-up que você

34
00:02:35,120 --> 00:02:37,640
‫precisa gerar para adicioná-lo para a janela de visualização.

35
00:02:37,640 --> 00:02:41,630
‫Novamente, este código para isso no controlador de jogo que você pode

36
00:02:41,630 --> 00:02:46,520
‫pegar emprestado e, em seguida, você configurará em seu blueprint qual classe deve ser gerada.

37
00:02:46,910 --> 00:02:49,370
‫Então, pause o vídeo e experimente o desafio.

38
00:02:50,330 --> 00:02:51,170
‫Ok, bem-vindo de volta.

39
00:02:51,530 --> 00:02:57,140
‫Então, vamos tentar, vamos, no arquivo de cabeçalho para o controlador do jogador de tiro.

40
00:02:57,140 --> 00:03:02,660
‫Você pode ver que temos isso configurado para nossa tela de perda de pára-brisas e logo acima desses dois.

41
00:03:02,960 --> 00:03:09,140
‫O que eu quero fazer é adicionar um novo que será uma classe HQ D ou HUD.

42
00:03:09,830 --> 00:03:16,730
‫Então vamos tê-lo como uma subclasse de você usa um widget, então vamos ter que adicionar, adicionar começar

43
00:03:16,730 --> 00:03:17,930
‫a jogar.

44
00:03:17,930 --> 00:03:23,780
‫Para isso, vou até o ponto H da arma e copie a declaração de lá e

45
00:03:23,900 --> 00:03:31,310
‫leve-a para o nosso jogador de tiro, controlador, ponto H e adicionei a seção protegida também e implementei o início

46
00:03:31,700 --> 00:03:32,540
‫do jogo.

47
00:03:33,140 --> 00:03:36,350
‫E lembrando que em Begin Play devemos chamar para super begin play.

48
00:03:36,620 --> 00:03:39,140
‫Caso contrário, as coisas não vão funcionar corretamente.

49
00:03:39,170 --> 00:03:44,630
‫E, finalmente, vou mover este início de jogo acima que o jogo terminou, pois logicamente essa é a ordem em que as

50
00:03:44,630 --> 00:03:45,290
‫coisas acontecerão.

51
00:03:46,170 --> 00:03:48,670
‫Em seguida, vamos ter que configurar o widget.

52
00:03:48,690 --> 00:03:52,140
‫Bem, para isso, será bastante simples, porque serão exatamente os mesmos passos que

53
00:03:52,140 --> 00:03:55,500
‫fizemos para configurar o pára-brisas e as telas de tela azul.

54
00:03:55,500 --> 00:04:01,200
‫Vamos copiar isso para o Begin Play e vamos tentar basicamente em vez de usar

55
00:04:01,200 --> 00:04:04,320
‫o clássico do pára-brisas, vamos usar a classe.

56
00:04:05,040 --> 00:04:11,400
‫E em vez de criar um pára-brisas aqui, o que vamos fazer é criar h you d, então é por isso que

57
00:04:11,400 --> 00:04:16,680
‫vou chamá-lo de HD. Em todos esses casos, se o HDD não for agora, adicionaremos para a janela

58
00:04:16,680 --> 00:04:17,370
‫de visualização.

59
00:04:17,490 --> 00:04:23,190
‫Vamos para o editor, compilar e ver se agora podemos configurar as coisas em nosso controlador de jogo.

60
00:04:23,190 --> 00:04:29,280
‫Então eu vou abrir o shooter BP, jogar um controlador, abrir o editor de blueprint completo aqui.

61
00:04:29,310 --> 00:04:34,920
‫E quando a compilação terminar, você verá a classe HUD aparecer como uma variável que podemos definir no

62
00:04:34,920 --> 00:04:35,730
‫topo, certo?

63
00:04:36,210 --> 00:04:40,380
‫Então, se clicarmos nesse menu suspenso, você verá WP, HUD, que é o que queremos selecionar.

64
00:04:40,380 --> 00:04:41,730
‫Vamos em frente e aperte o play.

65
00:04:42,240 --> 00:04:47,280
‫E com certeza, agora temos aquela enorme Cruz Vermelha aqui, provavelmente grande demais aparecendo em nossa tela.

66
00:04:47,280 --> 00:04:53,670
‫Então vamos fazer isso para uma fonte um pouco menor, talvez em torno de 47 ou algo assim.

67
00:04:54,300 --> 00:04:55,320
‫Vá e aperte o play agora.

68
00:04:55,740 --> 00:04:56,630
‫E é isso.

69
00:04:57,880 --> 00:05:00,040
‫Tamanho da mira ainda um pouco grande, na minha opinião.

70
00:05:00,340 --> 00:05:02,590
‫Então, eu vou reduzir isso para cerca de 30.

71
00:05:03,190 --> 00:05:03,940
‫Experimente isso.

72
00:05:05,260 --> 00:05:07,330
‫Sim, isso faz sentido para o meu palpite.

73
00:05:10,730 --> 00:05:14,150
‫Porque estamos filmando no centro da tela.

74
00:05:14,160 --> 00:05:18,780
‫Então a próxima coisa que você notará é que se nós formos e dermos dano ao nosso rifle novamente, então eu

75
00:05:18,780 --> 00:05:19,470
‫vou abrir.

76
00:05:19,470 --> 00:05:23,730
‫Seu editor de planta completo define o dano ao Five-O para que nos mate rapidamente.

77
00:05:24,000 --> 00:05:25,740
‫E vá e aperte o play.

78
00:05:26,430 --> 00:05:29,850
‫É quando somos mortos que a mira fica lá.

79
00:05:29,880 --> 00:05:32,040
‫Então, queremos ser capazes de remover a mira.

80
00:05:32,070 --> 00:05:37,770
‫Agora, felizmente, a remoção é bastante fácil porque tudo isso está dentro da classe do controlador do jogador e

81
00:05:37,770 --> 00:05:39,600
‫já temos o jogo encerrado aqui.

82
00:05:39,990 --> 00:05:46,860
‫O que queremos fazer é basicamente remover esse HUD da janela de visualização, seja ou não o vencedor, porque o estamos substituindo

83
00:05:46,860 --> 00:05:49,110
‫por outra interface do usuário aqui.

84
00:05:49,530 --> 00:05:54,420
‫No entanto, não podemos obter esse widget HUD que criamos porque o criamos aqui e começamos a jogar.

85
00:05:54,430 --> 00:05:55,410
‫Nós não salvamos de qualquer maneira.

86
00:05:55,410 --> 00:06:01,590
‫Então, no cabeçalho do arquivo, vou criar uma nova variável privada perto da parte inferior aqui, que

87
00:06:01,590 --> 00:06:04,740
‫será um HUD de widget para você usar.

88
00:06:05,640 --> 00:06:08,100
‫Então é uma variável privada que vamos definir e começar a jogar.

89
00:06:08,100 --> 00:06:12,900
‫Então, vou remover o tipo de lá, o que garantirá que estamos

90
00:06:12,900 --> 00:06:20,520
‫configurando a variável em relação à classe, o que significa que devemos ter acesso a essa variável em nosso

91
00:06:20,520 --> 00:06:21,000
‫jogo.

92
00:06:21,130 --> 00:06:26,910
‫Acabei de notar que, infelizmente, adicionei o HUD ao jogo, ao cabeçalho da arma, em vez do cabeçalho do controlador do jogador de

93
00:06:26,910 --> 00:06:29,640
‫tiro, que na verdade era o que eu queria fazer.

94
00:06:29,640 --> 00:06:35,610
‫E também parece que eu esqueci de torná-lo uma nova propriedade, o que deveria ser porque

95
00:06:35,610 --> 00:06:41,520
‫este será um ponteiro que queremos manter e queremos que o lixo seja coletado corretamente.

96
00:06:41,520 --> 00:06:47,280
‫Portanto, sim, deve ser uma nova propriedade, mesmo que não haja especificadores em sua propriedade.

97
00:06:47,520 --> 00:06:52,860
‫Então, agora, se formos e dermos uma olhada no jogo terminou pouco antes da instrução if,

98
00:06:52,980 --> 00:07:01,620
‫eu quero removê-lo da janela de visualização para que possamos fazer o HUD, que agora temos acesso à seta remover da janela de visualização, o

99
00:07:01,620 --> 00:07:03,570
‫que apenas o tornará invisível.

100
00:07:03,570 --> 00:07:06,870
‫Vamos para o motor e compilar e experimentá-lo.

101
00:07:06,870 --> 00:07:10,110
‫E assim que terminar de compilar, vamos apertar o play, vamos nos matar.

102
00:07:11,370 --> 00:07:14,520
‫E com certeza, temos nosso HUD desaparecendo lá.

103
00:07:14,730 --> 00:07:19,170
‫Assim que reiniciarmos o nível, ele reaparecerá porque o ponto inicial é chamado novamente.

104
00:07:19,710 --> 00:07:21,150
‫Então é isso para esta palestra.

105
00:07:21,150 --> 00:07:25,800
‫Na próxima palestra, vamos configurar as barras de saúde reais em nosso HUD, bem como essa mira.

106
00:07:26,010 --> 00:07:31,920
‫Mas você pode ver que começamos a pagar dividendos por gerenciar nossa interface do usuário no controle de

107
00:07:31,920 --> 00:07:38,970
‫jogo, porque agora, quando adicionamos mais interface do usuário que o controle do jogador também gerencia, ele é capaz de alternar entre

108
00:07:38,970 --> 00:07:41,040
‫esses dois usos em uma classe.

