﻿1
00:00:04,180 --> 00:00:05,380
‫Olá e bem-vindo.

2
00:00:05,470 --> 00:00:11,050
‫Nesta palestra, veremos esses pequenos pinos e as diferentes cores em que eles aparecem

3
00:00:11,050 --> 00:00:17,140
‫e entenderemos que esses são tipos de dados diferentes que restringem o que podemos conectar a quê.

4
00:00:17,950 --> 00:00:23,170
‫Então, vamos mergulhar e dar uma olhada no que quero dizer com um tipo de dados.

5
00:00:23,710 --> 00:00:31,660
‫Portanto, uma definição bastante viável de tipo de dados é como ele representa certas partes de dados em

6
00:00:31,690 --> 00:00:34,720
‫binário na memória do seu computador.

7
00:00:35,440 --> 00:00:42,670
‫E também pode ser apenas uma maneira de restringir o que podemos fazer com esse dado.

8
00:00:42,700 --> 00:00:46,240
‫Portanto, nem sempre se trata de representações diferentes.

9
00:00:46,600 --> 00:00:55,030
‫E você pode pensar nisso como a forma dos dados no sentido de que um pino quadrado não cabe em um buraco

10
00:00:55,030 --> 00:00:55,510
‫redondo.

11
00:00:55,810 --> 00:01:00,460
‫Portanto, não podemos inserir o tipo errado de dados no tipo errado de pino.

12
00:01:01,910 --> 00:01:04,320
‫Então, vamos dar uma olhada em alguns exemplos de tipos de dados.

13
00:01:04,340 --> 00:01:07,400
‫Existe o inteiro, que é um exemplo clássico.

14
00:01:07,610 --> 00:01:16,580
‫Um número inteiro é um número inteiro, então tem valores como 223 -14, mas não algo como 1. 2.

15
00:01:16,790 --> 00:01:22,760
‫Isso seria um float, que é a abreviação de número de ponto flutuante.

16
00:01:23,180 --> 00:01:28,850
‫E estes são basicamente números onde você tem um ponto decimal e esses números podem

17
00:01:28,850 --> 00:01:33,620
‫ser muito grandes ou muito pequenos, mas crucialmente não são números inteiros.

18
00:01:33,620 --> 00:01:35,150
‫Eles podem ser negativos também.

19
00:01:35,780 --> 00:01:36,830
‫E depois há cordas.

20
00:01:36,830 --> 00:01:41,960
‫Já nos deparamos com strings antes, strings sendo apenas programadores, falam por pedaços de texto.

21
00:01:42,290 --> 00:01:44,300
‫E é essencialmente um tipo de dados.

22
00:01:44,330 --> 00:01:51,020
‫É uma maneira de armazenar pedaços de texto na memória para que eles possam ser o que você quiser, muito alto, você sabe, o

23
00:01:51,140 --> 00:01:52,010
‫que for.

24
00:01:52,010 --> 00:01:56,960
‫Todas essas coisas, todos esses pedaços de texto na minha tela são strings, provavelmente em algum lugar na memória do

25
00:01:56,960 --> 00:01:57,410
‫computador.

26
00:01:58,130 --> 00:02:01,130
‫E, finalmente, há boules, que é a abreviação de booleanos.

27
00:02:01,130 --> 00:02:04,460
‫E estes têm apenas dois valores possíveis, verdadeiro ou falso?

28
00:02:05,150 --> 00:02:11,990
‫Agora, esses tipos de dados são ótimos, mas você não pode representar um jogo inteiro com coisas tão

29
00:02:11,990 --> 00:02:12,800
‫simples, pode?

30
00:02:13,160 --> 00:02:13,940
‫Bem, você pode.

31
00:02:13,940 --> 00:02:19,070
‫Se você começar a agrupá-los em coisas como objetos.

32
00:02:19,310 --> 00:02:23,420
‫Depois de agrupá-los em um objeto, eles começam a se tornar mais significativos.

33
00:02:23,420 --> 00:02:28,100
‫Você pode ter um inteiro para representar a idade, você pode ter um float para representar pontos de experiência,

34
00:02:28,100 --> 00:02:29,150
‫esse tipo de coisa.

35
00:02:29,510 --> 00:02:35,900
‫E um ponto a ser observado é que, além dos objetos, temos coisas no projeto chamadas structs.

36
00:02:36,260 --> 00:02:38,450
‫E não se confunda muito aqui.

37
00:02:38,450 --> 00:02:44,390
‫E um struct é basicamente o mesmo que um objeto, exceto que geralmente é bem pequeno e não

38
00:02:44,390 --> 00:02:49,580
‫usamos referências, apenas passamos e copiamos na memória sem nos preocupar com eles porque são

39
00:02:49,640 --> 00:02:50,540
‫muito pequenos.

40
00:02:51,080 --> 00:02:55,400
‫E um tipo de dados, como dissemos, é a forma de nossos dados.

41
00:02:56,210 --> 00:02:58,670
‫Então, vamos dar uma olhada em alguns exemplos de estruturas de objetos.

42
00:02:58,670 --> 00:03:00,770
‫Então imagine que tivéssemos um aventureiro.

43
00:03:01,040 --> 00:03:03,410
‫Nosso aventureiro pode ser um pouco assim.

44
00:03:03,410 --> 00:03:04,940
‫Esta é a forma de seus dados.

45
00:03:05,180 --> 00:03:10,760
‫Ele tem um número inteiro para representar seu nível e um float para representar pontos de experiência representativos.

46
00:03:11,000 --> 00:03:17,570
‫Agora você pode ter várias instâncias de aventureiro que são da mesma classe de aventureiro, então elas precisam ter a

47
00:03:17,570 --> 00:03:22,340
‫mesma forma de dados, mas não precisam ter o mesmo conteúdo de dados.

48
00:03:22,550 --> 00:03:27,920
‫Você pode ver aqui que o segundo aventureiro tem um nível de 100 e por algum motivo pontos de experiência de menos

49
00:03:27,920 --> 00:03:28,250
‫cinco.

50
00:03:28,250 --> 00:03:34,820
‫Mas não importa que você também possa ter um tipo diferente por ter uma classe diferente de objeto, como o

51
00:03:34,820 --> 00:03:35,510
‫jogador.

52
00:03:35,900 --> 00:03:37,880
‫E aqui você pode ver que a forma é diferente.

53
00:03:37,880 --> 00:03:45,350
‫Estes para a aventura e o jogador são tipos não compatíveis e no entanto você sabe que esses jogadores têm

54
00:03:45,350 --> 00:03:47,210
‫valores diferentes armazenados neles.

55
00:03:47,210 --> 00:03:52,130
‫Eles têm um nome de jogador, talvez estejam usando um controlador ou não, como alguns dos dados

56
00:03:52,130 --> 00:03:52,640
‫neles.

57
00:03:52,820 --> 00:03:55,850
‫Agora vamos dar uma olhada em algumas estruturas que vimos no passado.

58
00:03:55,850 --> 00:04:00,170
‫Novamente, lembrando que structs e objetos são mais ou menos intercambiáveis, exceto pelo tamanho.

59
00:04:00,740 --> 00:04:06,890
‫Então, o primeiro que vimos algumas vezes é um vetor, e um vetor nada mais é do que três floats, isso é tudo,

60
00:04:06,890 --> 00:04:11,150
‫é um float X, Y e Z, que pode ser usado para representar a posição.

61
00:04:11,150 --> 00:04:16,850
‫Ele também pode ser usado para representar escala ou nós o usamos quando inserimos o impulso em nosso nó

62
00:04:16,910 --> 00:04:18,140
‫de impulso ADD.

63
00:04:18,830 --> 00:04:20,960
‫Outra coisa que vimos de passagem é um rotador.

64
00:04:21,200 --> 00:04:28,250
‫Agora observe que este rotador também tem apenas três flutuadores, mas isso não significa que esses dois tipos sejam compatíveis.

65
00:04:28,460 --> 00:04:34,880
‫Podemos dar nomes diferentes a structs para evitarmos usá-los acidentalmente em situações em que

66
00:04:34,880 --> 00:04:35,810
‫não deveríamos.

67
00:04:36,830 --> 00:04:41,390
‫E podemos juntá-los e criar uma estrutura composta ainda maior.

68
00:04:41,390 --> 00:04:48,770
‫A transformação, que é a localização da rotação e escala de um ator em uma cena.

69
00:04:49,220 --> 00:04:54,350
‫Então você pode ver aqui que esta é uma estrutura composta de outras estruturas e você pode basicamente aninhar

70
00:04:54,350 --> 00:04:58,340
‫essas coisas o quanto quiser nessa estrutura dentro de objetos e assim por diante.

71
00:04:58,340 --> 00:04:59,720
‫Eles podem ficar bem complicados.

72
00:05:00,500 --> 00:05:03,680
‫Então, vamos dar uma olhada em alguns objetos que já vimos no passado.

73
00:05:03,980 --> 00:05:06,950
‫Demos uma olhada em todos os objetos que são atores.

74
00:05:06,950 --> 00:05:08,660
‫Sabemos que os atores são um tipo de objeto.

75
00:05:09,380 --> 00:05:11,800
‫Vimos atores que são cubos.

76
00:05:11,810 --> 00:05:13,280
‫Este é outro tipo de objeto.

77
00:05:13,550 --> 00:05:19,100
‫Vimos que o projétil BP também é um tipo de objeto e é um ator.

78
00:05:19,460 --> 00:05:24,620
‫E vimos que temos componentes em nossos atores, que também são tipos de objetos.

79
00:05:24,620 --> 00:05:27,800
‫E o componente estático MASH é um exemplo disso.

80
00:05:28,190 --> 00:05:32,780
‫Então, temos tudo isso e esses são feitos apenas desses tipos de dados básicos.

81
00:05:32,780 --> 00:05:38,330
‫No fundo, eles podem ser compostos de estruturas mais complicadas nesse ínterim, mas é tudo sobre esses tipos

82
00:05:38,330 --> 00:05:39,590
‫de dados básicos.

83
00:05:40,130 --> 00:05:46,220
‫E então, quando vamos dar uma olhada em um gráfico como este, podemos ver instantaneamente pela cor que

84
00:05:46,220 --> 00:05:52,730
‫esse impulso é um vetor, por exemplo, que a localização, rotação e escala aqui são apenas três números de

85
00:05:52,730 --> 00:05:53,570
‫ponto flutuante.

86
00:05:54,200 --> 00:05:58,580
‫E também podemos ver que esta caixa vermelha de mudança de velocidade é um booleano.

87
00:05:58,580 --> 00:05:59,990
‫É uma resposta sim ou não.

88
00:06:00,290 --> 00:06:00,880
‫Então estamos começando.

89
00:06:01,030 --> 00:06:07,210
‫Para entender que esses são os tipos de dados que estão restringindo o que podemos conectar ao quê.

90
00:06:08,410 --> 00:06:14,560
‫Então, em resumo, o que vimos é que um tipo de dado é a forma de nossos dados, que objetos

91
00:06:14,560 --> 00:06:19,690
‫são apenas coleções de dados e funcionalidades, como dissemos antes, que structs são objetos, mas geralmente

92
00:06:19,690 --> 00:06:20,830
‫um pouco menores.

93
00:06:20,980 --> 00:06:23,500
‫E é basicamente isso que você precisa saber.

94
00:06:23,830 --> 00:06:25,630
‫Vejo você na próxima palestra.

