﻿1
00:00:03,990 --> 00:00:05,150
‫Olá e bem-vindo.

2
00:00:05,160 --> 00:00:07,920
‫Nesta palestra, estamos implementando plataformas móveis.

3
00:00:07,920 --> 00:00:13,500
‫Na verdade, vamos fazer essa plataforma se mover entendendo algo chamado loop de jogo e como

4
00:00:13,500 --> 00:00:16,860
‫a função tick em C++ se relaciona a ele.

5
00:00:16,920 --> 00:00:18,960
‫Vamos mergulhar e descobrir.

6
00:00:19,470 --> 00:00:24,930
‫Então, até este ponto, temos ignorado esta função aqui, a função tick.

7
00:00:24,930 --> 00:00:29,250
‫Estamos colocando tudo em jogo porque é isso que usamos antes no Blueprint.

8
00:00:29,520 --> 00:00:32,280
‫Mas vamos esclarecer um pouco sobre essa função de carrapato.

9
00:00:32,370 --> 00:00:38,310
‫Para entender o tick, precisamos entender o conceito de loop de jogo, e é assim que a maioria dos

10
00:00:38,310 --> 00:00:40,560
‫mecanismos de jogo construirá seu mecanismo.

11
00:00:40,560 --> 00:00:46,110
‫A maneira como funciona é que, em primeiro lugar, o mecanismo do jogo receberá a entrada do jogador.

12
00:00:46,110 --> 00:00:52,260
‫Então, o que quer que esteja acontecendo no momento, se a barra de espaço está pressionada ou se é a tecla W, se

13
00:00:52,260 --> 00:00:56,340
‫o mouse acabou de se mover um pouco ou se um botão do mouse está

14
00:00:56,340 --> 00:01:00,060
‫pressionado, todas essas coisas serão absorvidas pelo mecanismo e processo do jogo.

15
00:01:00,510 --> 00:01:05,610
‫Então a próxima coisa é que as informações serão usadas para atualizar o estado do jogo.

16
00:01:05,610 --> 00:01:10,500
‫Talvez o jogador avance um pouco, talvez uma bola quique, todo esse tipo de coisa

17
00:01:10,500 --> 00:01:16,950
‫será calculado e os mecanismos de física funcionarão e todo esse tipo de coisa ótima que vimos em nossos jogos

18
00:01:16,950 --> 00:01:17,280
‫anteriores.

19
00:01:17,280 --> 00:01:21,870
‫E então o terceiro passo é que o motor do jogo vai pegar o estado do jogo

20
00:01:21,870 --> 00:01:27,840
‫e dizer, ok, bem, o jogador está aqui e a câmera está aqui, a bola está ali, e irá renderizá-la para a tela.

21
00:01:27,840 --> 00:01:33,780
‫Ele irá transformá-lo de um conjunto de números em uma imagem para exibir na tela.

22
00:01:34,260 --> 00:01:41,880
‫Agora, essa imagem é chamada de quadro, um quadro sendo uma única imagem em uma série de imagens que compõem

23
00:01:41,880 --> 00:01:43,020
‫um vídeo.

24
00:01:43,470 --> 00:01:50,490
‫Agora, seu computador pode renderizar muitos e muitos quadros por segundo, ou pode renderizar menos, mas isso

25
00:01:50,850 --> 00:01:53,370
‫é chamado de taxa de quadros.

26
00:01:53,370 --> 00:01:58,650
‫Quantos quadros por segundo seu computador pode passar pelo loop do jogo?

27
00:01:58,650 --> 00:02:02,760
‫Com que frequência ele pode processar a entrada do estado da data e renderizá-la?

28
00:02:03,300 --> 00:02:10,980
‫Esses são os quadros por segundo e no irreal usamos a função tick para nos ajudar a fazer a etapa intermediária do loop do jogo

29
00:02:10,980 --> 00:02:12,720
‫para nos ajudar a atualizar.

30
00:02:13,320 --> 00:02:19,530
‫O estado do nosso jogo é uma função que é chamada a cada quadro e blueprint existente, bem como a um

31
00:02:19,530 --> 00:02:20,070
‫evento.

32
00:02:20,400 --> 00:02:27,120
‫Então você obtém o evento tick e basicamente permite que você faça algo para atualizar seu jogo a cada

33
00:02:27,120 --> 00:02:27,510
‫quadro.

34
00:02:27,880 --> 00:02:33,630
‫Agora, no nosso caso, o que queremos fazer com isso é permitir que ele mova nossa plataforma.

35
00:02:33,720 --> 00:02:35,100
‫Então, como poderíamos fazer isso?

36
00:02:35,100 --> 00:02:42,930
‫Bem, se pegarmos nosso set em um local e removê-lo da jogabilidade e, em vez disso, atualizarmos esse

37
00:02:42,930 --> 00:02:49,860
‫local em tecnologia, isso não funcionará muito inicialmente, porque estaremos definindo constantemente atualizando nossa localização para

38
00:02:49,860 --> 00:02:51,660
‫o mesmo local.

39
00:02:51,660 --> 00:02:59,940
‫Se definirmos a localização do ator, meu vetor e ponto e vírgula, isso é apenas cada quadro, cada iteração

40
00:02:59,940 --> 00:03:01,890
‫no loop do jogo.

41
00:03:02,250 --> 00:03:04,950
‫Só vai colocar o ator no mesmo lugar.

42
00:03:05,460 --> 00:03:11,760
‫No entanto, onde isso fica interessante é se atualizarmos o valor dentro do meu vetor.

43
00:03:11,760 --> 00:03:24,390
‫Então o que podemos fazer é dizer que meu vetor ponto z é igual ao meu vetor ponto z mais um.

44
00:03:24,990 --> 00:03:30,960
‫Então, o que estamos fazendo aqui é pegar o valor que atualmente reside no meu vetor ponto z.

45
00:03:31,410 --> 00:03:40,800
‫Estamos adicionando um a ele e então pegamos todo o resultado e o colocamos de volta no meu vetor ponto

46
00:03:40,800 --> 00:03:41,370
‫z.

47
00:03:42,060 --> 00:03:48,960
‫Portanto, toda vez que passamos por esse loop de jogo e o tick é chamado pelo mecanismo irreal, meu vetor

48
00:03:48,960 --> 00:03:51,360
‫ponto z deve aumentar em um.

49
00:03:51,870 --> 00:03:53,670
‫Então vamos ver qual é o resultado disso.

50
00:03:53,670 --> 00:04:00,030
‫Entramos no Unreal e apertamos o botão de compilação e então vamos em frente e apertamos o play.

51
00:04:00,180 --> 00:04:07,080
‫Devemos ver que essa plataforma está subindo, flutuando no ar porque estou aumentando sua localização Z, então

52
00:04:07,080 --> 00:04:11,010
‫estou fazendo com que ela suba cada vez mais.

53
00:04:11,100 --> 00:04:16,500
‫Então eu gostaria que você tentasse mudar Y em vez de mudar Z.

54
00:04:16,920 --> 00:04:18,930
‫Portanto, altere a linha de código correta.

55
00:04:18,930 --> 00:04:21,510
‫Você fez essas alterações em mais de um lugar.

56
00:04:21,930 --> 00:04:24,450
‫Redimensione o cubo da plataforma.

57
00:04:24,450 --> 00:04:31,230
‫Portanto, há uma boa plataforma para você pular e ver se agora atualizar Y em vez de atualizar Z permite

58
00:04:31,230 --> 00:04:34,920
‫que você pule na plataforma, coloque o vídeo e tente.

59
00:04:38,140 --> 00:04:38,710
‫OK.

60
00:04:38,710 --> 00:04:39,410
‫Bem vindo de volta.

61
00:04:39,430 --> 00:04:41,950
‫Então, vamos mergulhar no código do Visual Studio.

62
00:04:42,370 --> 00:04:49,330
‫E o que queremos fazer é definir meu vetor ponto y igual ao meu vetor ponto y mais um.

63
00:04:49,630 --> 00:04:54,670
‫Então isso vai se mover ao longo do eixo Y em vez do eixo Z.

64
00:04:55,210 --> 00:05:00,310
‫E então vamos definir a localização de cada quadro para o resultado que está armazenado na variável my

65
00:05:00,310 --> 00:05:00,850
‫vector.

66
00:05:01,270 --> 00:05:04,870
‫Então, voltaremos ao Unreal e nos certificaremos de compilar.

67
00:05:04,990 --> 00:05:12,100
‫Então vamos pesquisar o contorno da plataforma móvel e selecioná-lo, vá para o painel de detalhes.

68
00:05:12,940 --> 00:05:19,540
‫E aqui nós queremos basicamente clicar duas vezes na plataforma para que possamos vê-la e então queremos

69
00:05:19,540 --> 00:05:20,890
‫escalá-la um pouco.

70
00:05:20,890 --> 00:05:29,050
‫Então eu vou usar a ferramenta de escala com a tecla R e vou aumentar a escala Y e a escala X e

71
00:05:29,470 --> 00:05:30,970
‫diminuir a escala Z.

72
00:05:30,970 --> 00:05:37,120
‫Então, minha plataforma é um pouco mais curta, então vamos salvar o nível de

73
00:05:37,150 --> 00:05:41,260
‫jogo e a plataforma está flutuando à minha direita.

74
00:05:41,380 --> 00:05:44,800
‫Então também é maior, o que significa que eu posso subir e ficar em cima dele.

75
00:05:45,310 --> 00:05:49,570
‫E então vamos, temos nossa primeira pequena mecânica de jogo, temos uma plataforma móvel.

76
00:05:49,570 --> 00:05:54,070
‫Não vamos para trás e para frente que vamos descobrir um pouco mais sobre isso

77
00:05:54,070 --> 00:05:55,090
‫nas próximas palestras.

78
00:05:55,450 --> 00:06:00,370
‫Mas, por enquanto, implementamos algumas funcionalidades do jogo em C++.

79
00:06:00,370 --> 00:06:02,530
‫Eu acho que você deve estar muito orgulhoso de si mesmo neste momento.

80
00:06:02,530 --> 00:06:05,710
‫Dê um tapinha nas costas e nos vemos na próxima palestra.

