﻿1
00:00:04,380 --> 00:00:05,370
‫Olá e bem-vindo.

2
00:00:05,370 --> 00:00:10,260
‫Nesta palestra, aprenderemos sobre instruções if, essencialmente instruções de ramificação C++, e as

3
00:00:10,590 --> 00:00:14,520
‫usaremos para enviar nossa plataforma para frente e para trás.

4
00:00:14,520 --> 00:00:15,180
‫Vamos mergulhar.

5
00:00:16,300 --> 00:00:21,340
‫Portanto, há alguns lugares nos comentários agora em que mencionamos que deveríamos fazer algo

6
00:00:21,640 --> 00:00:23,260
‫se formos longe demais.

7
00:00:23,560 --> 00:00:25,690
‫Como fazemos isso se.

8
00:00:25,990 --> 00:00:31,210
‫Bem, anteriormente no Blueprint, fazíamos isso se tivéssemos um nó de ramificação.

9
00:00:31,450 --> 00:00:36,550
‫Agora, em C++, existe um conceito semelhante e é chamado de instrução if.

10
00:00:36,880 --> 00:00:39,970
‫Então aqui está um nó de ramificação que tínhamos como exemplo anteriormente.

11
00:00:40,300 --> 00:00:45,070
‫E você pode ver que essa variável diz, estou com fome, é um booleano, e

12
00:00:45,070 --> 00:00:50,980
‫poderíamos colocá-lo na condição e então poderíamos ter um ramo de execução verdadeiro ou um ramo de execução falso

13
00:00:50,980 --> 00:00:53,080
‫e poderíamos executar funções de código.

14
00:00:53,410 --> 00:00:58,270
‫Qualquer coisa no Blueprint em C++, é muito semelhante, exceto que é textual.

15
00:00:58,270 --> 00:01:04,810
‫Então, teríamos uma variável chamada I'm Hungry, que é um booleano, e podemos apenas dizer se e ter parênteses em torno

16
00:01:04,810 --> 00:01:05,410
‫disso.

17
00:01:06,250 --> 00:01:14,140
‫Então abrimos algumas chaves após nossa instrução if frequentemente na próxima linha, e então dentro dessas chaves

18
00:01:14,170 --> 00:01:19,570
‫podemos executar as coisas que devem acontecer se for verdade.

19
00:01:19,570 --> 00:01:25,210
‫Então, estamos dizendo que se eu estiver com fome, coma junk food enquanto a esposa não está assistindo e então podemos

20
00:01:25,210 --> 00:01:28,840
‫fechar nosso aparelho para dizer, ok, esse é o fim dessas coisas.

21
00:01:28,840 --> 00:01:30,400
‫Isso deve acontecer condicionalmente.

22
00:01:31,150 --> 00:01:35,530
‫E então há uma opção que se quisermos colocar um ramo falso,

23
00:01:35,530 --> 00:01:42,160
‫se quisermos conectar algo ao falso aqui, então colocamos uma palavra-chave else e podemos iniciar um segundo conjunto de chaves.

24
00:01:42,160 --> 00:01:46,360
‫E aqui nós poderíamos continuar jogando videogame e então podemos fechar as chaves.

25
00:01:46,690 --> 00:01:51,310
‫Agora aqui podemos ter quantas linhas quisermos entre essas chaves, não é necessário que haja

26
00:01:51,310 --> 00:01:52,600
‫apenas uma única linha.

27
00:01:52,900 --> 00:01:57,040
‫Portanto, você pode adicionar muito código aqui, se quiser, ou pode ter apenas uma única linha.

28
00:01:57,340 --> 00:02:01,660
‫E também com a variável aqui, não precisa ser uma variável que se conecte a uma instrução if.

29
00:02:01,660 --> 00:02:04,960
‫Pode ser qualquer expressão que retorne um booleano.

30
00:02:04,960 --> 00:02:08,680
‫Então você pode fazer um pouco de chamar uma função aqui.

31
00:02:08,680 --> 00:02:12,250
‫Você pode usar um operador para obter um resultado diferente.

32
00:02:12,670 --> 00:02:15,100
‫Portanto, há algumas opções diferentes disponíveis para nós.

33
00:02:15,340 --> 00:02:21,460
‫Mas antes disso, precisamos configurar até onde essa plataforma pode ir antes de voltar

34
00:02:21,460 --> 00:02:22,870
‫e fazer isso.

35
00:02:22,870 --> 00:02:24,670
‫Precisamos de um novo imóvel.

36
00:02:25,030 --> 00:02:28,270
‫Atualmente, temos nossa distância movida como visível em qualquer lugar.

37
00:02:28,270 --> 00:02:34,330
‫Vamos criar um novo logo acima aqui, algumas propriedades que devem ser adicionadas em qualquer lugar porque

38
00:02:34,330 --> 00:02:36,460
‫queremos poder configurá-lo no editor.

39
00:02:37,360 --> 00:02:44,770
‫E eu vou usar a mesma categoria de plataforma móvel de cima para baixo e aqui embaixo vai ser do

40
00:02:44,770 --> 00:02:50,830
‫tipo float porque vai ser uma distância e eu vou chamá-la de distância de movimento assim

41
00:02:51,070 --> 00:02:55,540
‫quando dado um valor padrão, vou dar 100 unidades como padrão.

42
00:02:55,540 --> 00:03:00,640
‫Mas, obviamente, podemos substituir isso, alterá-lo no editor e, em seguida, podemos usar isso

43
00:03:00,640 --> 00:03:02,080
‫no arquivo C++.

44
00:03:02,470 --> 00:03:06,220
‫Então, a maneira como vamos fazer isso é que já movemos nossa distância variável.

45
00:03:06,730 --> 00:03:12,100
‫Na verdade, eu quero não poder mais observar, então vou remover a propriedade visible em qualquer lugar e

46
00:03:12,100 --> 00:03:14,560
‫a variável distance move do arquivo de cabeçalho.

47
00:03:15,280 --> 00:03:20,140
‫Então eu vou voltar para o C++ e vamos declará-lo como uma variável local.

48
00:03:20,200 --> 00:03:26,560
‫Então, a maneira mais fácil de mudar isso é colocar um float na frente do movimento de distância que basicamente o declara como uma

49
00:03:26,560 --> 00:03:31,240
‫variável local aqui dentro da tecnologia, o que significa que sabemos que é completamente novo toda vez

50
00:03:31,240 --> 00:03:32,320
‫que o usamos.

51
00:03:33,010 --> 00:03:35,590
‫Então agora precisamos reverter a direção de quem foi longe demais.

52
00:03:35,830 --> 00:03:43,840
‫Então, a maneira como podemos fazer isso é usar operadores menor ou igual ou igual ou maior que vimos

53
00:03:43,840 --> 00:03:46,930
‫no passado como nós no blueprint.

54
00:03:46,930 --> 00:03:51,250
‫Mas agora podemos usá-los como operadores como se fosse mais ou multiplicação.

55
00:03:51,850 --> 00:03:56,290
‫E a maneira como podemos fazer isso é dizer, ok, bem, nós mudamos a distância.

56
00:03:56,770 --> 00:04:00,280
‫Isso é maior do que na distância de movimento?

57
00:04:00,280 --> 00:04:07,750
‫Então podemos usar o símbolo de maior que, que é este Chevron certo e então podemos colocar a distância de movimento.

58
00:04:08,030 --> 00:04:11,410
‫Parece que eu chamei de distância movida, mas acho que deveria ser a distância movida.

59
00:04:11,410 --> 00:04:13,480
‫Então eu acidentalmente tinha um D extra lá.

60
00:04:13,480 --> 00:04:19,870
‫Vamos remover isso do cabeçalho do arquivo e você verá que essa expressão aqui retorna um booleano para que

61
00:04:19,870 --> 00:04:22,420
‫possamos usá-lo dentro de nossa instrução if.

62
00:04:22,930 --> 00:04:32,290
‫Então, o que podemos fazer é dizer se o espaço abre colchetes e então vou cortar essa expressão e

63
00:04:32,290 --> 00:04:33,940
‫colá-la nesses colchetes.

64
00:04:33,940 --> 00:04:40,270
‫Então tudo bem se a distância movida for maior que a distância do movimento, então essencialmente queremos

65
00:04:40,270 --> 00:04:41,800
‫inverter a direção.

66
00:04:41,800 --> 00:04:44,460
‫Então é para isso que estamos fazendo este comentário.

67
00:04:44,480 --> 00:04:48,250
‫Queremos inverter a direção do movimento e inverter a direção do movimento.

68
00:04:48,250 --> 00:04:50,140
‫Temos uma velocidade de plataforma.

69
00:04:50,350 --> 00:04:57,010
‫Então, vamos definir a velocidade da plataforma para o negativo de si mesma, basicamente invertendo sua direção.

70
00:04:57,010 --> 00:04:59,560
‫Então a velocidade da plataforma é igual.

71
00:05:00,630 --> 00:05:02,640
‫Velocidade negativa da plataforma.

72
00:05:02,880 --> 00:05:07,140
‫Então isso vai basicamente virar a seta sobre a velocidade.

73
00:05:07,590 --> 00:05:11,820
‫Vou colocar ponto e vírgula no final dessa linha e vamos ver se essa declaração realmente funciona

74
00:05:11,820 --> 00:05:12,390
‫como pretendíamos.

75
00:05:12,390 --> 00:05:14,520
‫Vamos entrar no editor e clicar em compilar.

76
00:05:14,610 --> 00:05:19,590
‫E agora que isso foi concluído com sucesso, podemos ir em frente e apertar o play e ver o que acontece.

77
00:05:20,220 --> 00:05:26,820
‫Então, espero que vá para frente e para trás praticamente como está, e isso é muito bom.

78
00:05:27,090 --> 00:05:31,410
‫Agora, o que está realmente acontecendo é que está indo um pouco além do seu ponto de partida.

79
00:05:31,870 --> 00:05:33,340
‫Agora, o motivo disso.

80
00:05:33,360 --> 00:05:35,100
‫Então, se dermos uma olhada, esse é o ponto de partida.

81
00:05:35,100 --> 00:05:40,290
‫E se eu apertar play e olhar para o lado do mesmo ângulo em que meu jogador está, você pode

82
00:05:40,290 --> 00:05:44,520
‫ver que ele está indo na mesma distância do ponto de partida em cada direção.

83
00:05:44,910 --> 00:05:50,970
‫E isso porque quando olhamos para o que está sendo calculado aqui, a distância percorrida é de um

84
00:05:50,970 --> 00:05:52,950
‫local inicial que nunca muda.

85
00:05:53,250 --> 00:05:56,310
‫Nunca atualizamos esse local de início.

86
00:05:56,310 --> 00:05:58,830
‫Então estamos indo na direção negativa.

87
00:05:58,830 --> 00:06:03,000
‫Nós vamos então passar por ela a mesma quantidade que viajamos na outra direção.

88
00:06:03,480 --> 00:06:06,180
‫Então não é assim que eu quero que minha plataforma funcione.

89
00:06:06,300 --> 00:06:09,930
‫Então, vou desafiá-lo a atualizar seu local de início.

90
00:06:09,930 --> 00:06:12,210
‫Nós vamos fazer isso dentro da declaração.

91
00:06:12,210 --> 00:06:17,850
‫Então, isso só acontecerá quando chegarmos ao final de nossa viagem e você a definirá como a

92
00:06:17,850 --> 00:06:23,760
‫localização atual para que basicamente redefinimos nosso ponto de partida para o outro lado e então possamos viajar

93
00:06:23,760 --> 00:06:24,850
‫na direção oposta.

94
00:06:24,870 --> 00:06:28,200
‫Então teste os resultados e veja se funciona como você espera.

95
00:06:28,320 --> 00:06:29,610
‫Pause o vídeo e vá em frente.

96
00:06:32,840 --> 00:06:33,410
‫OK.

97
00:06:33,410 --> 00:06:34,100
‫Bem vindo de volta.

98
00:06:34,130 --> 00:06:39,240
‫Então, vamos depois de inverter a velocidade aqui, não importa se é depois ou antes,

99
00:06:39,240 --> 00:06:42,230
‫porque eles não têm impacto um no outro.

100
00:06:42,890 --> 00:06:52,010
‫Vamos definir o local inicial igual ao local atual, o que essencialmente significa que no próximo quadro a distância movida

101
00:06:52,010 --> 00:06:57,470
‫será zero porque sabemos que a distância entre o local inicial e

102
00:06:57,470 --> 00:06:59,570
‫ele próprio será zero.

103
00:06:59,690 --> 00:07:02,300
‫Vamos voltar e realmente apertar o botão de compilação.

104
00:07:02,480 --> 00:07:05,600
‫E quando isso for feito, vamos apertar o play e ver o que acontece agora.

105
00:07:06,380 --> 00:07:09,010
‫Então eu espero que isso vá para frente e para trás.

106
00:07:09,020 --> 00:07:09,680
‫Ai está.

107
00:07:09,860 --> 00:07:15,230
‫Sobre a mesma quantidade de unidades sempre voltando ao seu local de partida, não voltando mais,

108
00:07:15,230 --> 00:07:16,610
‫o que é fantástico.

109
00:07:16,610 --> 00:07:18,220
‫Exatamente o que eu queria que acontecesse.

110
00:07:18,230 --> 00:07:24,950
‫Então é isso nesta palestra, aprendemos como usar nossas instruções if e expressões booleanas para fazer isso e

111
00:07:24,950 --> 00:07:29,300
‫permitimos que isso envie nossa plataforma para frente e para trás.

112
00:07:29,330 --> 00:07:30,020
‫Coisas boas.

113
00:07:30,380 --> 00:07:31,760
‫Vejo você na próxima palestra.

