﻿1
00:00:04,110 --> 00:00:07,740
‫Nesta palestra, vamos criar uma classe C++.

2
00:00:07,770 --> 00:00:11,310
‫Agora precisamos de uma classe que possamos usar para nossos peões.

3
00:00:11,340 --> 00:00:15,720
‫Agora estou dizendo peões, no plural, porque haverá dois peões diferentes em nosso jogo.

4
00:00:15,720 --> 00:00:20,280
‫Haverá o tanque que usamos para rolar o nível, e haverá uma

5
00:00:20,280 --> 00:00:24,870
‫torre que será nosso inimigo para que possamos criar uma classe de peões base.

6
00:00:24,870 --> 00:00:30,050
‫E isso terá a funcionalidade básica que o tanque e a torre compartilharão.

7
00:00:30,060 --> 00:00:34,890
‫E desta forma podemos criar nossas duas classes filhas, o tanque e a torre.

8
00:00:34,890 --> 00:00:40,890
‫Então, eles herdarão qualidades da classe base de peões e essas são coisas que ambos

9
00:00:40,890 --> 00:00:47,010
‫os peões compartilharão, como ter a malha, ter um componente de cápsula e a capacidade de

10
00:00:47,010 --> 00:00:47,820
‫lançar projéteis.

11
00:00:47,820 --> 00:00:51,840
‫Agora, vamos entrar em todos esses recursos em vídeos futuros para este vídeo.

12
00:00:51,840 --> 00:00:56,280
‫Vamos apenas criar a classe C++ e adicionar algumas variáveis básicas a ela.

13
00:00:56,280 --> 00:01:00,990
‫Então esta é a nossa motivação para criar nossa primeira classe C++.

14
00:01:01,020 --> 00:01:06,450
‫Agora estamos prontos para começar a criar algumas classes C++ para este projeto.

15
00:01:06,630 --> 00:01:13,410
‫Agora você verá aqui no navegador de conteúdo que não há pastas para classes C++.

16
00:01:13,410 --> 00:01:19,770
‫Isso porque ainda não criamos nenhum, mas estamos prestes a escrever agora para que possamos ir até as ferramentas

17
00:01:19,770 --> 00:01:22,140
‫e selecionar uma nova classe C++.

18
00:01:22,140 --> 00:01:27,690
‫E aqui é onde vamos escolher a classe pai para a classe que vamos criar.

19
00:01:27,690 --> 00:01:31,740
‫E por padrão, temos várias opções aqui para escolher.

20
00:01:31,740 --> 00:01:35,330
‫Isso é algo que você deveria ter visto em aulas anteriores.

21
00:01:35,330 --> 00:01:38,280
‫Então agora temos algumas decisões a tomar aqui.

22
00:01:38,370 --> 00:01:41,550
‫Por um lado, qual classe pai vamos escolher?

23
00:01:41,550 --> 00:01:42,210
‫Nós temos.

24
00:01:42,210 --> 00:01:43,860
‫O primeiro é nenhum.

25
00:01:43,860 --> 00:01:50,910
‫Isso basicamente nos permitiria criar uma classe C++ simples e antiga, mas precisaremos de algumas funcionalidades extras.

26
00:01:50,910 --> 00:01:55,440
‫Por um lado, queremos ser capazes de colocar uma instância desse objeto no mundo.

27
00:01:55,440 --> 00:01:58,230
‫Portanto, não podemos fazer isso com uma classe C++ simples e antiga.

28
00:01:58,230 --> 00:02:03,810
‫Poderíamos fazer isso com um personagem ou um peão ou um ator, mas qual desses é mais apropriado para

29
00:02:03,810 --> 00:02:05,250
‫o que queremos fazer?

30
00:02:05,400 --> 00:02:10,020
‫Bem, precisamos dar um passo para trás e pensar sobre o que exatamente estamos tentando criar aqui.

31
00:02:10,050 --> 00:02:17,460
‫Estamos tentando criar um tanque que possamos controlar e mover pelo nível e atirar projéteis para que possamos causar danos

32
00:02:17,460 --> 00:02:21,570
‫e todas essas coisas boas em nossa pasta de ativos.

33
00:02:21,570 --> 00:02:28,770
‫Só para nos lembrar, temos esta pasta de malhas aqui e temos a base do tanque e temos a torre do tanque.

34
00:02:28,800 --> 00:02:32,670
‫Estas são duas malhas diferentes que estarão em nossa classe.

35
00:02:32,670 --> 00:02:35,640
‫E por isso precisamos da capacidade de ter malhas.

36
00:02:35,640 --> 00:02:39,270
‫E, portanto, uma classe C++ simples não tem essa capacidade.

37
00:02:39,540 --> 00:02:41,670
‫Então vamos pensar sobre isso por um segundo.

38
00:02:41,670 --> 00:02:44,250
‫Qual classe pai devemos usar?

39
00:02:44,250 --> 00:02:48,780
‫Bem, a primeira aula que provavelmente deve vir à sua mente é a aula de ator.

40
00:02:48,780 --> 00:02:52,320
‫Agora, a classe ator tem a capacidade de ser colocada no mundo.

41
00:02:52,320 --> 00:02:53,850
‫Então é um ótimo começo.

42
00:02:53,940 --> 00:02:57,750
‫Ele também tem a capacidade de ter uma representação visual.

43
00:02:57,750 --> 00:03:04,080
‫Seja uma malha ou qualquer outra coisa, ela pode realmente ser vista quando você a coloca no mundo, desde que você

44
00:03:04,080 --> 00:03:07,650
‫dê uma malha ou o que quer que você queira ver.

45
00:03:07,650 --> 00:03:13,260
‫Agora derivado de ator, temos a classe -- e o -- herda todas essas

46
00:03:13,260 --> 00:03:19,830
‫qualidades da classe ator, exceto que possui qualidades adicionais, como a capacidade de ser possuído por um controlador.

47
00:03:19,830 --> 00:03:25,980
‫Agora, toda essa coisa de posse é algo que entrará em mais detalhes mais tarde, mas por enquanto, apenas entenda

48
00:03:25,980 --> 00:03:30,060
‫que isso significa que um -- pode ser controlado por um jogador.

49
00:03:30,060 --> 00:03:36,750
‫Então, se você estiver pressionando um botão do mouse ou uma tecla do teclado, isso pode ser configurado e configurado para que

50
00:03:36,750 --> 00:03:38,580
‫possamos mover o -- ao redor.

51
00:03:38,580 --> 00:03:43,110
‫Então isso soa como algo que definitivamente queremos para o nosso tanque.

52
00:03:43,110 --> 00:03:49,410
‫Então, ao manipular a entrada de movimento, o -- está soando como uma boa escolha agora derivada da classe --

53
00:03:49,410 --> 00:03:55,560
‫e, assim, herdando todas as coisas que o -- tem, mais todas as coisas que o -- herdou de

54
00:03:55,560 --> 00:03:56,880
‫sua classe pai.

55
00:03:56,880 --> 00:04:02,100
‫Nós temos a classe de personagem que tem algumas coisas específicas de personagem.

56
00:04:02,460 --> 00:04:05,550
‫Por exemplo, tem algo chamado componente de movimento de personagem.

57
00:04:05,550 --> 00:04:07,830
‫Agora, um -- não tem isso.

58
00:04:07,860 --> 00:04:13,980
‫Um componente de movimento do personagem dá ao personagem habilidades extras, como diferentes modos

59
00:04:13,980 --> 00:04:19,440
‫de movimento, como voar, nadar, agachar e outras coisas específicas dos personagens.

60
00:04:19,440 --> 00:04:25,560
‫A classe de personagem é boa para personagens bípedes e não vai funcionar muito bem para personagens não bípedes,

61
00:04:25,560 --> 00:04:28,410
‫coisas que não são criaturas com duas pernas.

62
00:04:28,410 --> 00:04:34,050
‫E embora fosse muito legal ter um tanque voando ao redor do nível e jogando bombas

63
00:04:34,050 --> 00:04:38,940
‫em tudo que ele vê, não vamos fazer nada tão complicado nesta seção.

64
00:04:38,940 --> 00:04:41,040
‫Nós vamos apenas fazer um tanque que pode rolar por aí.

65
00:04:41,040 --> 00:04:47,220
‫Então, nós realmente não precisamos de um componente de movimento de personagem ou qualquer coisa específica de personagem especial.

66
00:04:47,220 --> 00:04:52,380
‫Então, para isso, acho que um -- é perfeito para o que estamos tentando alcançar.

67
00:04:52,380 --> 00:04:59,490
‫Então, vou desafiá-lo a criar uma nova classe C++, criar uma classe baseada em -- e nomear essa nova

68
00:04:59,490 --> 00:05:01,230
‫classe baseada em --.

69
00:05:01,230 --> 00:05:03,600
‫Agora você pode deixar todas as configurações como estão.

70
00:05:03,670 --> 00:05:05,200
‫No assistente de criação de classe.

71
00:05:05,200 --> 00:05:10,570
‫Você não precisa alterar o caminho do arquivo ou algo assim, então pause o vídeo e crie

72
00:05:10,570 --> 00:05:13,030
‫sua primeira classe C++ para este projeto.

73
00:05:16,320 --> 00:05:18,090
‫Então, de volta aqui no nível.

74
00:05:18,120 --> 00:05:21,690
‫Então vamos até as ferramentas e criar uma nova classe C++.

75
00:05:21,690 --> 00:05:24,260
‫Ainda não criei a classe C++.

76
00:05:24,270 --> 00:05:27,180
‫Acabei de fechar isso para voltar a esse slide.

77
00:05:27,180 --> 00:05:33,480
‫Mas agora que estou de volta, estou pronto para criar minha primeira classe C++ para este projeto e vou escolher -- e

78
00:05:33,480 --> 00:05:36,720
‫você verá isso toda vez que passar o mouse sobre elas.

79
00:05:36,720 --> 00:05:38,370
‫Você provavelmente já viu isso antes.

80
00:05:38,400 --> 00:05:44,790
‫Recebemos uma dica de ferramenta que aparece e diz: -- é a classe base de todos os atores que podem ser possuídos

81
00:05:44,790 --> 00:05:45,660
‫pelos jogadores.

82
00:05:45,660 --> 00:05:52,680
‫Ou eu sei que parece muito empolgante, mas vamos configurar isso para ser móvel por entrada de um

83
00:05:52,680 --> 00:05:53,370
‫jogador.

84
00:05:53,370 --> 00:05:55,380
‫Então isso é perfeito.

85
00:05:55,470 --> 00:06:01,020
‫Continua dizendo que são as representações físicas de jogadores e criaturas em um nível.

86
00:06:01,020 --> 00:06:07,080
‫Então, em outras palavras, assim que criarmos esse tanque, ele nos representará como jogadores do mundo.

87
00:06:07,080 --> 00:06:07,950
‫Muito legal.

88
00:06:08,040 --> 00:06:15,960
‫Então selecione -- e clique em próximo e ele está nos mostrando o caminho onde vai colocar essa classe em nosso projeto e você

89
00:06:15,960 --> 00:06:20,070
‫verá que está nos tanques de ajuste de barra de origem.

90
00:06:20,070 --> 00:06:26,280
‫Agora vamos querer nomear nosso novo -- porque meu -- é um nome horrível e muito vago.

91
00:06:26,280 --> 00:06:29,700
‫Precisamos de algo um pouco mais específico agora.

92
00:06:29,700 --> 00:06:35,400
‫Vamos planejar usar isso como uma classe base, o que significa que vamos derivar classes dessa

93
00:06:35,400 --> 00:06:38,340
‫classe para que possamos chamá-la de --.

94
00:06:38,340 --> 00:06:43,080
‫Agora, eu sei que não é muito melhor do que o meu --, mas ei, está nos dizendo que isso é uma base --.

95
00:06:43,080 --> 00:06:46,770
‫Isso é algo que vamos derivar de classes filhas no futuro.

96
00:06:46,770 --> 00:06:47,730
‫Chegaremos a isso.

97
00:06:47,730 --> 00:06:52,320
‫Mas por enquanto, vamos chamar isso de base -- e vamos clicar em Create Class.

98
00:06:53,930 --> 00:06:54,590
‫Tudo bem.

99
00:06:54,590 --> 00:06:58,340
‫Portanto, o código do Visual Studio foi aberto para nós com nossa nova classe.

100
00:06:58,340 --> 00:07:01,700
‫Temos com base em H e com base em CP.

101
00:07:01,730 --> 00:07:08,180
‫Agora podemos fechar esta barra lateral clicando no ícone do Explorer e podemos dar uma olhada no que o código

102
00:07:08,180 --> 00:07:09,890
‫de V gerou para nós.

103
00:07:09,890 --> 00:07:16,880
‫Então, por padrão, obtemos o construtor de classe, bem como três funções begin, play, tick e set up

104
00:07:16,880 --> 00:07:18,380
‫player input component.

105
00:07:18,410 --> 00:07:21,980
‫Agora você deve estar familiarizado com Begin, Play e marque os comentários aqui.

106
00:07:21,980 --> 00:07:23,300
‫Explique o que eles fazem.

107
00:07:23,330 --> 00:07:28,790
‫Configurar o componente de entrada do jogador é algo que o peão recebe e esta função nos permite lidar com

108
00:07:28,790 --> 00:07:34,250
‫a entrada de uma tecla do teclado ou um clique do mouse e aprenderemos mais sobre como isso funciona em

109
00:07:34,250 --> 00:07:35,690
‫futuros vídeos em banda base.

110
00:07:35,840 --> 00:07:41,930
‫CP Essas funções são definidas para nós, mas são bem simples e não mudarão isso em vídeos

111
00:07:41,930 --> 00:07:42,740
‫futuros também.

112
00:07:42,740 --> 00:07:49,370
‫Então, neste vídeo, criamos nossa primeira classe C++ e o próximo vídeo discutirá componentes e por que gostaríamos de

113
00:07:49,370 --> 00:07:51,770
‫adicionar alguns à nossa nova classe.

114
00:07:51,800 --> 00:07:52,790
‫Vejo você em breve.

