[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.88,0:00:06.00,Default,,0000,0000,0000,,Estamos de volta ao nosso Winston \Ne eu adicionei um texto a ele. Dialogue: 0,0:00:06.00,0:00:11.07,Default,,0000,0000,0000,,O quero fazer é a posicionar o texto \Nembaixo de cada um desses rótulos Dialogue: 0,0:00:11.07,0:00:13.21,Default,,0000,0000,0000,,para mostrar cada ponto da linha. Dialogue: 0,0:00:13.21,0:00:15.20,Default,,0000,0000,0000,,Mas agora ele está em todo lugar. Dialogue: 0,0:00:15.20,0:00:19.04,Default,,0000,0000,0000,,É porque estamos definindo o faceX e faceY\Nem números aleatórios na função. Dialogue: 0,0:00:20.66,0:00:22.84,Default,,0000,0000,0000,,Em vez disso, o que quero é dizer pra ele: Dialogue: 0,0:00:22.86,0:00:25.29,Default,,0000,0000,0000,,Ei, aqui está a posição exata\Nque eu quero Dialogue: 0,0:00:25.29,0:00:27.86,Default,,0000,0000,0000,,que você desenhe o rosto. Dialogue: 0,0:00:27.86,0:00:30.30,Default,,0000,0000,0000,,Eu quero poder especificar a\Nposição cada vez que eu Dialogue: 0,0:00:30.32,0:00:33.100,Default,,0000,0000,0000,,chamar a função, da mesma forma\Nque fazemos com a ellipse() e o rect(). Dialogue: 0,0:00:34.05,0:00:36.85,Default,,0000,0000,0000,,Porque eu quero ser capaz de\Ncolocar um Winston aqui, Dialogue: 0,0:00:36.85,0:00:40.55,Default,,0000,0000,0000,,e um Winston aqui, e outro aqui,\Ne um outro aqui, Dialogue: 0,0:00:40.56,0:00:43.86,Default,,0000,0000,0000,,e eu não quero lugares aleatórios \Ncada vez que eu chamar a função. Dialogue: 0,0:00:44.84,0:00:49.29,Default,,0000,0000,0000,,Para isso, temos de especificar \N"parâmetros" para a função, Dialogue: 0,0:00:49.93,0:00:53.78,Default,,0000,0000,0000,,tanto em nossa definição de função...\N(aqui no topo) Dialogue: 0,0:00:53.79,0:00:58.24,Default,,0000,0000,0000,,e em nossa chamada de função, aqui em \Nbaixo, quando realmente a chamarmos. Dialogue: 0,0:00:58.24,0:01:05.02,Default,,0000,0000,0000,,Assim, de drawWinston(), queremos passar\Npara faceX e faceY, e usar esses valores Dialogue: 0,0:01:05.02,0:01:09.65,Default,,0000,0000,0000,,que passamos em vez de gerá-los\Naleatoriamente. Dialogue: 0,0:01:10.84,0:01:14.40,Default,,0000,0000,0000,,Vamos pensar sobre o que passaremos\Npara estas chamadas de função aqui Dialogue: 0,0:01:15.00,0:01:18.51,Default,,0000,0000,0000,,Queremos a posição dos Winstons sob \Ncada pedaço de texto, Dialogue: 0,0:01:18.70,0:01:20.82,Default,,0000,0000,0000,,por isso, provavelmente \Nqueremos o X e o Y Dialogue: 0,0:01:20.82,0:01:23.67,Default,,0000,0000,0000,,de cada Winston por ser semelhante \Naos números Dialogue: 0,0:01:23.77,0:01:25.87,Default,,0000,0000,0000,,que passaremos para \Nas funções "text()". Dialogue: 0,0:01:25.87,0:01:33.28,Default,,0000,0000,0000,,Talvez, apenas 10 pixels menor no y. \NAssim, talvez o primeiro seria de 10 e 30, Dialogue: 0,0:01:33.28,0:01:37.39,Default,,0000,0000,0000,,e, em seguida, talvez 200, 230... Dialogue: 0,0:01:37.70,0:01:43.97,Default,,0000,0000,0000,,10, 230...200, 230. É o mesmo que as \Ncoordenas do texto, só estou acrescentando Dialogue: 0,0:01:43.97,0:01:48.76,Default,,0000,0000,0000,,10 a cada y, porque eu quero\Napenas um pouco menor. Dialogue: 0,0:01:49.49,0:01:54.27,Default,,0000,0000,0000,,Ok, mas o Winston não se moveu. \NIsso é porque não dissemos a nossa função Dialogue: 0,0:01:54.27,0:01:58.72,Default,,0000,0000,0000,,que estamos passando os parâmetros,\Npor isso ainda está usando Dialogue: 0,0:01:58.72,0:02:00.12,Default,,0000,0000,0000,,esses valores aleatórios. Dialogue: 0,0:02:00.12,0:02:02.92,Default,,0000,0000,0000,,Portanto, a fim de contar essa função,\N"Ei, vamos dar esta Dialogue: 0,0:02:02.92,0:02:04.31,Default,,0000,0000,0000,,informação em vez disso", Dialogue: 0,0:02:04.31,0:02:09.18,Default,,0000,0000,0000,,nós temos que dar os nomes dos \Nparâmetros dentro desses parênteses. Dialogue: 0,0:02:09.18,0:02:15.76,Default,,0000,0000,0000,,Então, vamos chamá-lo de faceX e facey, \Ne separá-los por uma vírgula, Dialogue: 0,0:02:15.76,0:02:17.82,Default,,0000,0000,0000,,e vamos chamá-lo assim, porque Dialogue: 0,0:02:18.05,0:02:21.15,Default,,0000,0000,0000,,isso é o que estamos usando para se\Nreferir a eles na função, ok? Dialogue: 0,0:02:21.15,0:02:25.27,Default,,0000,0000,0000,,Então, dessa forma não temos que\Nreescrever o resto do nosso código. Dialogue: 0,0:02:25.27,0:02:29.27,Default,,0000,0000,0000,,Mas mesmo assim, nada aconteceu; \No Winston ainda está em todo o lugar. Dialogue: 0,0:02:29.27,0:02:32.73,Default,,0000,0000,0000,,Bem, se você olhar para o topo da nossa\Nfunção, estamos substituindo o Dialogue: 0,0:02:32.73,0:02:35.93,Default,,0000,0000,0000,,"faceX" e "faceY" com valores \Naleatórios, ainda. Dialogue: 0,0:02:35.94,0:02:40.05,Default,,0000,0000,0000,,Então, tudo o que temos a fazer \Né excluir essas linhas... Dialogue: 0,0:02:42.07,0:02:46.57,Default,,0000,0000,0000,,E agora, o "faceX" e "faceY" estão sendo \Npassados para a função, Dialogue: 0,0:02:46.58,0:02:49.84,Default,,0000,0000,0000,,e ele está usando os valores \Nque estamos chamando aqui. Dialogue: 0,0:02:49.84,0:02:54.17,Default,,0000,0000,0000,,Agora, como você pode ver, eu não fiz \Ncorretamente a posição do Winston, Dialogue: 0,0:02:54.17,0:03:00.15,Default,,0000,0000,0000,,porque esqueci que o texto fica posicionado \Nde acordo com a parte superior esquerda, Dialogue: 0,0:03:00.15,0:03:02.00,Default,,0000,0000,0000,,e o rosto de acordo com o centro. Dialogue: 0,0:03:02.00,0:03:07.04,Default,,0000,0000,0000,,Então, eu só preciso ir e mexer com\Nos meus números um pouco aqui, certo? Dialogue: 0,0:03:07.04,0:03:09.78,Default,,0000,0000,0000,,Provavelmente precise mover \Nos x sobre um monte deles, Dialogue: 0,0:03:09.78,0:03:14.99,Default,,0000,0000,0000,,e mover sobre este, certo?...\Nentão essa é a nossa criança... Dialogue: 0,0:03:14.99,0:03:18.09,Default,,0000,0000,0000,,E agora tudo o que tenho que fazer \Né mudar o que eu estou Dialogue: 0,0:03:18.09,0:03:22.12,Default,,0000,0000,0000,,passando para a função, e eu não tenho que\Nmudar a definição de todas as funções, Dialogue: 0,0:03:22.14,0:03:26.13,Default,,0000,0000,0000,,porque sempre vai levar os valores que\Nnós passamos. Dialogue: 0,0:03:26.13,0:03:28.89,Default,,0000,0000,0000,,Assim como com o "ellipse ()" \Ne o "rect ()". Dialogue: 0,0:03:28.89,0:03:33.43,Default,,0000,0000,0000,,Ok, então eu meio que posicionou ele, mas\Nnotei que o Winston é bem grande. Dialogue: 0,0:03:33.43,0:03:36.13,Default,,0000,0000,0000,,Ele está sobreposto, \Npor isso ele não se encaixa. Dialogue: 0,0:03:36.13,0:03:40.22,Default,,0000,0000,0000,,Bem, já que eu coloquei todo o código para\Ndesenhá-lo em uma função, eu posso mudar Dialogue: 0,0:03:40.22,0:03:45.17,Default,,0000,0000,0000,,o tamanho de todos de uma vez só por mudar\Na linha de código que desenha a elipse. Dialogue: 0,0:03:45.26,0:03:50.48,Default,,0000,0000,0000,,Então, digamos que se fizermos ele com \N190..sim, o Winston fará uma dieta de 190. Dialogue: 0,0:03:50.96,0:03:55.51,Default,,0000,0000,0000,,Muito bem, então agora ele vai se encaixar\Nmuito melhor e, em seguida Dialogue: 0,0:03:55.51,0:03:59.06,Default,,0000,0000,0000,,você sabe que eu poderia ajustar para \Nlevá-lo lá pra dentro, certo? Dialogue: 0,0:04:01.66,0:04:06.12,Default,,0000,0000,0000,,Legal. Então vamos fazer uma revisão final\Ndo que esse código faz. Dialogue: 0,0:04:06.51,0:04:09.29,Default,,0000,0000,0000,,Ele define uma função\Nchamada drawWinston (), Dialogue: 0,0:04:09.29,0:04:14.75,Default,,0000,0000,0000,,e diz que esta função recebe dois valores,\Ne os rotula como "faceX" e "faceY", Dialogue: 0,0:04:14.75,0:04:19.20,Default,,0000,0000,0000,,e esses valores vêm basicamente como\Nvariáveis que podemos usar em qualquer Dialogue: 0,0:04:19.20,0:04:22.19,Default,,0000,0000,0000,,lugar dentro da função, assim como \Nusamos as variáveis Dialogue: 0,0:04:22.19,0:04:23.93,Default,,0000,0000,0000,,que nós declarados no topo. Dialogue: 0,0:04:24.53,0:04:29.49,Default,,0000,0000,0000,,E então podemos chamar esta função sempre\Nque quisermos depois de declará-la, Dialogue: 0,0:04:29.49,0:04:32.49,Default,,0000,0000,0000,,e podemos passar em valores diferentes,\Nde modo que ele vai usar Dialogue: 0,0:04:32.50,0:04:34.08,Default,,0000,0000,0000,,esses novos valores de cada vez. Dialogue: 0,0:04:34.78,0:04:37.39,Default,,0000,0000,0000,,Agora você já viu a parte\Nlegal sobre funções. Dialogue: 0,0:04:37.39,0:04:40.83,Default,,0000,0000,0000,,Podemos chegar a um código que \Npensamos que seria útil para recusar, Dialogue: 0,0:04:40.83,0:04:43.48,Default,,0000,0000,0000,,mas também podemos utilizar \Nparâmetros para dizer: Dialogue: 0,0:04:43.48,0:04:47.09,Default,,0000,0000,0000,,"Ei, aqui tem algo que você pode mudar \Npara personalizar esse código." Dialogue: 0,0:04:47.09,0:04:49.77,Default,,0000,0000,0000,,É como uma receita. Você escreve as \Ninstruções gerais, Dialogue: 0,0:04:49.77,0:04:53.51,Default,,0000,0000,0000,,e se perceber que precisa alimentar \Nquatro Winstons em vez de um, Dialogue: 0,0:04:53.51,0:04:56.78,Default,,0000,0000,0000,,não tem que começar tudo de novo.\NBasta alterar as instruções originais Dialogue: 0,0:04:56.78,0:04:58.26,Default,,0000,0000,0000,,e multiplicar tudo por quatro. Dialogue: 0,0:04:58.26,0:05:01.22,Default,,0000,0000,0000,,Agora você pode pensar sobre as \Nreceitas em seu código! Dialogue: 0,0:05:01.22,0:05:02.36,Default,,0000,0000,0000,,Delícia. Dialogue: 0,0:05:02.36,0:05:04.46,Default,,0000,0000,0000,,Legendado por [Fernando dos Reis]\NRevisado por [Cainã Perri]