Aprenda Programação 3: Criando uma animação, usando random()
-
0:00 - 0:04Vamos recapitular o que vimos até agora.
-
0:04 - 0:10Nós agora saber usar dois comandos. Um é chamado 'point', o outro é 'line'.
-
0:10 - 0:18E nós sabemos que depois de digitar esses comandos temos que por algo entre parênteses.
-
0:18 - 0:23Uma sequência de valores separados por vírgulas.
-
0:23 - 0:27Algumas vezes, como neste caso, são somente dois valores...
-
0:27 - 0:30'line' precisa de quatro valores.
-
0:30 - 0:38No final da linha é preciso haver um ponto-e-vírgula para indicar ao computador que a linha acabou.
-
0:38 - 0:42Vamos tentar rodar o programa sem ele e ver o que acontece.
-
0:42 - 0:46Como você pode ver, erro de sintaxe. Talvez esteja faltando um ponto-e-vírgula.
-
0:46 - 0:51Isso mesmo. Esta parte é um pouco difícil de entender.
-
0:51 - 1:01É um erro bem longo, mas a falta de um ponte-e-vírgula é simples. Então como sabemos disso, apenas adicionamos ele.
-
1:01 - 1:06E agora tudo funciona.
-
1:06 - 1:10Depois nós aprendemos algo sobre a tela, como esta pequena tela que temos aqui.
-
1:10 - 1:16Ela parece ter 100 pontos de comprimento por 100 pontos de altura.
-
1:16 - 1:24Eu vou explicar um pouco mais sobre a tela neste desenho.
-
1:24 - 1:35Vamos imaginar que esta seja a nossa tela. Ela é feita de vários pequenos pontos (pixels), como este aqui.
-
1:35 - 1:42A razão de usar dois número desta maneira: (50, 50)...
-
1:42 - 1:52É porque cada coluna é numerada de (0, 1, 2, 3, 4, ...)
-
1:52 - 2:03Dependendo do tamanho da sua tela você pode ter 1280 ou talvez 1024 colunas.
-
2:03 - 2:09Estando em um telefone celular você terá menos resolução. Talvez seja 400.
-
2:09 - 2:20O mesmo para as linhas. Aqui nós temos (0, 1, 2, 3, ...) até sei lá. Pode ser 768.
-
2:20 - 2:33Então para desenhar um pixel é preciso saber qual é a coluna e a linha que estamos procurando.
-
2:33 - 2:42Nesse caso seria (3, 3). É por isso que escrevemos esses dois números. Ou talvez (50, 50)...
-
2:42 - 2:49... desta forma você pode escolher qual pixel da tela você quer iluminar, ou mudar de cor.
-
2:49 - 2:59Ok, então até agora sabemos esses dois comandos: 'point' e 'line'. Isto está meio tedioso por enquanto...
-
2:59 - 3:06... porque toda vez que rodamos o programa recebemos o mesmo desenho.
-
3:06 - 3:12Seria legal se algo estivesse mudando. Talvez você possa adicionar alguma aleatoriedade.
-
3:12 - 3:19Ao invés de vermos sempre a mesma linha, talvez todas vez que rodarmos o programa ela possa ser um pouca diferente.
-
3:19 - 3:28Então vamos dar uma olhada na referencia. O que temos sobre aleatório ('random' em inglês) ?
-
3:28 - 3:34Apertando ctrl+f, na maioria dos navegadores, você pode procurar por algo na página...
-
3:34 - 3:38... então nós vamos digitar 'random' aqui. Ok.
-
3:38 - 3:47Eu vejo algumas coisas sobre 'random'. Parece que temos 5 funções que fazem algo.
-
3:47 - 3:52Talvez esta última, vamos dar uma olhada em 'random'.
-
3:52 - 3:58Aqui temos alguns exemplos. Eles provavelmente parecem meio complicados no momento.
-
3:58 - 4:07Vamos ler a descrição. "Gera números aleatórios. Cada vez que a função random() é chamada..."
-
4:07 - 4:15"... ela retorna um valor inesperado dentro do intervalo especificado. Se um parâmetro for passado para a função ...
-
4:15 - 4:21ela irá retornar um número 'float'... " O que é um número 'float'? Nós ainda não sabemos...
-
4:21 - 4:30Mas vamos observar como é usado aqui. 'random(superior)' ou 'random(inferior, superior)'.
-
4:30 - 4:37Aqui diz que você pode usar 'random(5)' e isto irá lhe dar um número entre 0 e 5.
-
4:37 - 4:40Isso parece divertido.
-
4:40 - 4:44Então ao invés de desenhar a mesma coisa o tempo inteiro.
-
4:44 - 4:52Nós podemos desenhar linhas aleatórias. Podemos trocar todos esses números...
-
4:52 - 4:55... por alguns valores aleatórios.
-
4:55 - 5:00Vamos começar substituindo estes últimos dois '99' por exemplo.
-
5:00 - 5:10Então nós vamos desenhar uma linha a partir de (0, 0), que é o primeiro ponto na tela, até ...
-
5:10 - 5:17... algum lugar aleatório na tela.
-
5:17 - 5:22Tome cuidado com esses parênteses.
-
5:22 - 5:33Quando você põe o cursor aqui ele ilumina o outro parêntese correspondente.
-
5:33 - 5:37Isso é porque todo parêntese aberto deve ser fechado.
-
5:37 - 5:50Então isso fica 'random(100)' e este de novo 'random(100)' e depois você fecha o parêntese do início.
-
5:50 - 5:57Você pode botar uns espaços a mais para ficar mais claro.
-
5:57 - 6:02Isto está desenhando uma linha do (0, 0) para um ponto aleatório em algum lugar da tela.
-
6:02 - 6:07Vamos rodar o programa e ver o que acontece.
-
6:07 - 6:13Então agora ele começa no (0, 0) e acaba naquele ponto.
-
6:13 - 6:20E se eu rodar de novo? Um resultado diferente.
-
6:20 - 6:32Toda vez que eu rodar esse programa ele desenha uma linha que começa no canto e acaba em algum lugar da tela.
-
6:32 - 6:39Vamos mudar os primeiros dois números com outros aleatórios.
-
6:39 - 7:04Agora vamos desenhar uma linha de uma posição aleatória vertical e horizontal da tela até uma posição x e y aleatória.
-
7:04 - 7:08Oh que conhecidência! Ficou totalmente na vertical!
-
7:08 - 7:18Toda vez que eu rodo o programa ele vai desenhar uma linha aleatória.
-
7:18 - 7:25Uma coisa legal de Processing é que é bem fácil de fazer animações.
-
7:25 - 7:32Eu vou deletar esses pontos aqui e deixar só a linha.
-
7:32 - 7:42Deixe-me lembrar como faço isso... é 'void draw()'.
-
7:42 - 7:45Vamos ver se funciona e depois eu explico o que faz.
-
7:45 - 7:49Uau! Isso é um montão de linhas!
-
7:49 - 7:53Está tudo se tornando preto.
-
7:53 - 7:56O que está acontecendo?
-
7:56 - 8:03Isto é uma coisa legal de Processing. Claro que em outras linguagens você pode fazer gráficos e desenhar...
-
8:03 - 8:07... mas geralmente vai ser muito mais complicado que isto.
-
8:07 - 8:14Aqui com apenas duas linhas de código nós estamos fazendo esta animação.
-
8:14 - 8:23'draw()' é uma função especial que já vem definida. Ela permite a você rodar alguma coisa continuamente.
-
8:23 - 8:24O que isto significa?
-
8:24 - 8:31Imagine os filmes, que são feitos de imagens. Eles tem várias imagens por segundo, então ...
-
8:31 - 8:37... quando você mostra várias imagens por segundo você consegue uma ilusão de movimento, animação.
-
8:37 - 8:42Bem, é isto que 'draw' está fazendo aqui.
-
8:42 - 8:51Você só precisa saber que qualquer coisa posta dentro deste 'void draw() {}'...
-
8:51 - 8:57... todas linhas de código ali dentro vão ser rodadas muitas vezes por segundo.
-
8:57 - 9:03É por isto que ele está desenhando linhas aleatórias muitas vezes por segundo. Então quando você roda o programa ...
-
9:03 - 9:12Porque não apagamos nada, a tela está se tornando lentamente preta.
-
9:12 - 9:22Seria legal se nós pudéssemos apagar a última linha. Então ia parecer que a linha está se movendo.
-
9:22 - 9:27Este será o último comando que eu vou explicar nesse vídeo.
-
9:27 - 9:31Se chama 'background'.
-
9:31 - 9:42Vamos até o manual e consultar ele. Usando 'ctrl+f', procurando por 'background'.
-
9:42 - 9:53Aqui temos alguns exemplos. Parece que 'background(51)' faz um fundo de tela cinza.
-
9:53 - 9:57Se nós usarmos esses números ele faz um fundo amarelo...
-
9:57 - 10:01... parece até que podemos usar uma imagem como fundo de tela.
-
10:01 - 10:08A função 'background' muda a cor usada para o fundo da tela do Processing.
-
10:08 - 10:12A cor padrão do fundo é cinza claro. Nós já notamos isso.
-
10:12 - 10:20Se nós rodarmos de novo podemos ver ... oh o que foi que eu quebrei?
-
10:20 - 10:23Me desculpem, eu tinha aqui esse 'background()' que ainda não acabei.
-
10:23 - 10:30Ok, vamos rodar. Você pode ver que o fundo é cinza claro.
-
10:30 - 10:33O que mais diz aqui?
-
10:33 - 10:40Na função 'draw' a cor de fundo é usada para apagar a tela no início de cada novo desenho.
-
10:40 - 10:44Isso é exatamente o que queremos agora.
-
10:44 - 10:50Eu gostei deste amarelo, então vou copiar este código.
-
10:50 - 10:55Colar ele aqui ...
-
10:55 - 10:57Então o que acontece agora?
-
10:57 - 11:04Esta função será executada muitas vezes por segundo. A primeira coisa que ela fará é pintar a tela toda de amarelo...
-
11:04 - 11:09Depois vai desenhar uma linha aleatória. Vamos testar.
-
11:09 - 11:14Eu não sei se vocês estão vendo, mas no meu computador está indo super rápido.
-
11:14 - 11:20Desenhando várias linhas malucas. Pulando para cima e para baixo.
-
11:20 - 11:29Eu acho que isto é o suficiente por hoje. Você já pode fazer alguns experimentos.
-
11:29 - 11:35Você pode tentar trocar esta 'line' por alguns 'point' aleatórios.
-
11:35 - 11:42Você também pode tentar trocar esses valores de fundo para ver o que acontece. Tente descobrir cores diferentes.
-
11:42 - 11:52Dando uma olhada na referência você vai perceber que às vezes se usa um número, as vezes se usa três.
-
11:52 - 11:57As vezes até imagens. Então você pode experimentar.
-
11:57 - 12:05Uma coisa que eu espero mostrar a vocês é que é bom experimentar.
-
12:05 - 12:10Procurar no manual, procurar na internet e ficar fazendo mudanças.
-
12:10 - 12:18Geralmente você não vai conseguir estragar nada muito sério brincando aqui com Processing.
-
12:18 - 12:22Ou vai funcionar ou ele vai acusar um erro.
-
12:22 - 12:25E daí você simplesmente acha o erro e o corrige.
- Title:
- Aprenda Programação 3: Criando uma animação, usando random()
- Description:
-
Uma rápida recapitulação. O que acontece se esquecemos um ponto-e-vírgula no fim da linha? Uma descrição mais detalhada da tela como uma tabela de pontos, com centenas de colunas e linhas. Nós vamos testar a função random() para fazer nosso programa gerar imagens diferentes toda vez que for rodado. Finalmente nós usamos a função draw() e background para animar as linhas e mudar a cor de fundo.
- Video Language:
- English
- Duration:
- 12:25