[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.44,0:00:04.76,Default,,0000,0000,0000,,Outra animação. Dessa vez temos uma \Nbola se movendo pela tela, Dialogue: 0,0:00:04.76,0:00:06.54,Default,,0000,0000,0000,,e vocês sabem com isso é feito. Dialogue: 0,0:00:06.54,0:00:09.71,Default,,0000,0000,0000,,Temos uma variável, "x" que nos diz \Na posição da bola, Dialogue: 0,0:00:09.71,0:00:14.13,Default,,0000,0000,0000,,a variável "speed" que nos diz a distância\Nque a bola percorre cada vez. Dialogue: 0,0:00:14.13,0:00:16.41,Default,,0000,0000,0000,,E o loop onde é redesenhado \No fundo toda vez, Dialogue: 0,0:00:16.41,0:00:20.71,Default,,0000,0000,0000,,preenchendo as cores e desenhando uma\Nelipse a partir da posição x, e toda vez, Dialogue: 0,0:00:20.71,0:00:24.88,Default,,0000,0000,0000,,mudamos "x" para ter o antigo valor de "x"\Nmais o valor da variável "speed". Dialogue: 0,0:00:24.88,0:00:28.81,Default,,0000,0000,0000,,Então se deixarmos "speed" menor, \Ne reiniciarmos Dialogue: 0,0:00:28.81,0:00:31.08,Default,,0000,0000,0000,,veja que a bola se move mais devagar. Dialogue: 0,0:00:31.08,0:00:36.32,Default,,0000,0000,0000,,Ou posso deixar o valor negativo, e se\Nmoverá ao contrário, ou deixar como zero Dialogue: 0,0:00:36.32,0:00:38.21,Default,,0000,0000,0000,,e bola deve parar de mover. Dialogue: 0,0:00:38.21,0:00:40.48,Default,,0000,0000,0000,,Mas enquanto a velocidade\Nfor maior que zero, Dialogue: 0,0:00:40.48,0:00:43.05,Default,,0000,0000,0000,,eventualmente a bola irá\Nse mover pela tela. Dialogue: 0,0:00:43.05,0:00:46.04,Default,,0000,0000,0000,,Sempre posso apertar o botão reiniciar \Npara trazê-la de volta, Dialogue: 0,0:00:46.04,0:00:49.09,Default,,0000,0000,0000,,mas você sabe, depois de um tempo, \Nisso fica chato. Dialogue: 0,0:00:49.09,0:00:52.68,Default,,0000,0000,0000,,Você reinicia e reinicia... Dialogue: 0,0:00:52.68,0:00:55.74,Default,,0000,0000,0000,,E se fizermos assim: Quando a bola\Natingir o lado direito da tela Dialogue: 0,0:00:55.74,0:01:00.54,Default,,0000,0000,0000,,em vez de ir para fora da tela como agora,\Neu quero que ela volte. Dialogue: 0,0:01:00.54,0:01:06.51,Default,,0000,0000,0000,,Para fazer a bola voltar, é só dizer que a\Nvariável "speed" será menos cinco. Dialogue: 0,0:01:06.51,0:01:10.08,Default,,0000,0000,0000,,Se eu deixar a velocidade negativa,\Nentão ela fará o caminho contrário. Dialogue: 0,0:01:10.08,0:01:11.57,Default,,0000,0000,0000,,Mas ai está o problema. Dialogue: 0,0:01:11.57,0:01:16.69,Default,,0000,0000,0000,,Eu só quero mudar a velocidade se\Na bola tiver atingido a lado direto. Dialogue: 0,0:01:16.69,0:01:25.02,Default,,0000,0000,0000,,Acho que já disse isso. Só quero mudar a\Nvelocidade SE ela chegar do lado direito. Dialogue: 0,0:01:25.02,0:01:27.48,Default,,0000,0000,0000,,Eu acho que isso pede o uso\Nda condicional "if". Dialogue: 0,0:01:27.48,0:01:31.50,Default,,0000,0000,0000,,Até agora, apenas demos ao computador\Ncomandos para correr, e mais nada. Dialogue: 0,0:01:31.50,0:01:32.94,Default,,0000,0000,0000,,Declarações "if" é como dizer: Dialogue: 0,0:01:32.94,0:01:36.14,Default,,0000,0000,0000,,"Ei cara, quero que você \Nexecute esse código, Dialogue: 0,0:01:36.14,0:01:38.68,Default,,0000,0000,0000,,mas somente sob circunstâncias \Nespecíficas." Dialogue: 0,0:01:38.68,0:01:42.52,Default,,0000,0000,0000,,"Então mude a velocidade da bola só se ela\Nchegar do lado direito". Dialogue: 0,0:01:42.52,0:01:44.69,Default,,0000,0000,0000,,E aqui está como deve ficar. Dialogue: 0,0:01:44.69,0:01:50.95,Default,,0000,0000,0000,,O que você precisa fazer é digitar "if" e\Num par de parênteses e de colchetes. Dialogue: 0,0:01:50.95,0:01:54.34,Default,,0000,0000,0000,,Dentro do parêntese\Ncolocaremos a condição. Dialogue: 0,0:01:54.34,0:01:57.23,Default,,0000,0000,0000,,E dentro dos colchetes colocaremos\No código a ser executado. Dialogue: 0,0:01:57.23,0:02:01.55,Default,,0000,0000,0000,,Assim, o modo como funciona é:\N"Se essa condição for verdadeira Dialogue: 0,0:02:01.55,0:02:03.92,Default,,0000,0000,0000,,execute esse código.\NSe não for, não incomode." Dialogue: 0,0:02:03.92,0:02:07.26,Default,,0000,0000,0000,,No nosso caso, a condição é a \Nbola atingir o lado direito da tela. Dialogue: 0,0:02:07.26,0:02:09.85,Default,,0000,0000,0000,,Como sabemos se a bola\Natingiu o lado direito? Dialogue: 0,0:02:09.85,0:02:12.97,Default,,0000,0000,0000,,Temos a variável "x" que nos diz\Nonde a bola está, Dialogue: 0,0:02:12.97,0:02:22.58,Default,,0000,0000,0000,,e sei que o limite da tela é a\Nposição 400, então vejamos. Dialogue: 0,0:02:22.58,0:02:29.84,Default,,0000,0000,0000,,Quando "x" for maior que 400, então\Nsabemos que a bola passou do lado direito. Dialogue: 0,0:02:29.84,0:02:31.10,Default,,0000,0000,0000,,Vejamos como isso funciona Dialogue: 0,0:02:31.10,0:02:34.73,Default,,0000,0000,0000,,No código a ser executado, como já falei\Nestamos apenas mudando a velocidade. Dialogue: 0,0:02:34.73,0:02:38.27,Default,,0000,0000,0000,,A velocidade será menos cinco. Dialogue: 0,0:02:38.27,0:02:41.67,Default,,0000,0000,0000,,Vamos apertar reiniciar \Ne ver o que acontece. Dialogue: 0,0:02:41.67,0:02:45.84,Default,,0000,0000,0000,,Dessa vez, quando a bola atingir \No limite do lado direito, ela volta! Dialogue: 0,0:02:45.84,0:02:47.26,Default,,0000,0000,0000,,E fica indo pra fora da tela. Dialogue: 0,0:02:47.26,0:02:49.25,Default,,0000,0000,0000,,Mas podemos fazer o mesmo\Ndo outro lado. Dialogue: 0,0:02:49.25,0:02:52.67,Default,,0000,0000,0000,,Dessa vez, verificaremos se ela\Natingiu o limite esquerdo. Dialogue: 0,0:02:52.67,0:03:03.05,Default,,0000,0000,0000,,Isso é, quando "x" for menor que zero,\Ne deixarmos a velocidade positiva de novo. Dialogue: 0,0:03:04.18,0:03:06.64,Default,,0000,0000,0000,,Vou reiniciar. Dialogue: 0,0:03:06.64,0:03:08.16,Default,,0000,0000,0000,,E dessa vez... Dialogue: 0,0:03:15.22,0:03:16.58,Default,,0000,0000,0000,,Funciona. Dialogue: 0,0:03:16.58,0:03:21.03,Default,,0000,0000,0000,,Sei que estamos verificando se a bola\Nultrapassou as bordas da tela, Dialogue: 0,0:03:21.04,0:03:23.28,Default,,0000,0000,0000,,mas parece que passou um\Npouco das bordas. Dialogue: 0,0:03:23.28,0:03:29.03,Default,,0000,0000,0000,,Lembrando que esses 2 parâmetros controlam\Nonde o centro da elipse está desenhada. Dialogue: 0,0:03:29.03,0:03:35.27,Default,,0000,0000,0000,,Agora, quando o centro atingir a borda, \Nmetade da elipse terá passado do limite. Dialogue: 0,0:03:35.27,0:03:39.27,Default,,0000,0000,0000,,Se queremos corrigir isso, vamos \Nparar a elipse um pouco antes. Dialogue: 0,0:03:39.27,0:03:44.61,Default,,0000,0000,0000,,Se o nosso limite é 400, queremos parar\Na elipse quando chegar aqui, Dialogue: 0,0:03:44.61,0:03:51.29,Default,,0000,0000,0000,,e podemos na chamada dessa função\Ndizer que a elipse tem uma largura de 50, Dialogue: 0,0:03:51.29,0:03:57.34,Default,,0000,0000,0000,,isso significa que do centro \Naté a borda, será de 25. Dialogue: 0,0:03:57.34,0:04:05.10,Default,,0000,0000,0000,,Então queremos pará-la quando o centro\Natingir 375, porque é 400 menos 25. Dialogue: 0,0:04:05.10,0:04:10.17,Default,,0000,0000,0000,,Então ao invés de checar se "x" é maior \Nque 400, verificamos se é maior que 375. Dialogue: 0,0:04:10.17,0:04:14.81,Default,,0000,0000,0000,,Invés de checar se "x" é menor que zero,\Nvou verificar se é menor que 25. Dialogue: 0,0:04:16.97,0:04:20.73,Default,,0000,0000,0000,,E agora está perfeito!\NVeja a bola quicando. Dialogue: 0,0:04:20.73,0:04:23.00,Default,,0000,0000,0000,,Legendado por [Valter Bigeli].\NRevisado por [Fernando dos Reis]