410 likes | 501 Views
Uma animação possui: Início; Passo; Fim ;. 1. Modo contínuo. Permite o controle do fluxo de execução ; Baseado em duas funções: setup; draw ;. 2. Função setup. Chamada apenas uma vez no início da execução ; Configurações gerais;. 3. Função draw.
E N D
Uma animação possui: • Início; • Passo; • Fim; 1
Modo contínuo • Permite o controle do fluxo de execução; • Baseado em duas funções: • setup; • draw; 2
Função setup • Chamada apenas uma vez no início da execução; • Configurações gerais; 3
Função draw • Chamada imediatamente após a execução do setup; • Repete-se continuamente; • Código para desenho; • Atualização de variáveis; 4
Executa 1 vez Executa X vezes 6
draw (frame 1) Limpa a tela 9
draw (frame 1) Desenha elipse 10
px é igual a 0 0 11
draw (frame 1) Desenha elipse 0 12
draw (frame 1) 0 Incrementa o px 13
px vai de 0 até 1 1 14
draw (frame 1) 0 Incrementa o px 1 15
draw (frame 1) 0 1 draw (frame 2) Limpa tela 16
draw (frame 1) 0 1 draw (frame 2) Desenha elipse 17
px é igual a 1 1 18
draw (frame 1) 0 1 draw (frame 2) Desenha elipse 1 19
draw (frame 1) 0 1 draw (frame 2) 1 Incremento 20
px vai de 1 até 2 2 21
draw (frame 1) 0 1 draw (frame 2) 1 Incremento 2 22
draw (frame 1) 0 1 draw (frame 2) 1 2 draw (frame 3) ... 23
Função frameRate • Define a taxa de atualização; • FPS (frames por segundo); • Quanto maior, mais rápida é a atualização; • Quanto menor, mais lenta é a atualização; • Padrão = 60 frames por segundo; 24
Variável frameRate • Valor aproximado da taxa de atualização na execução do programa; 25
Variável frameRate • Valor aproximado da taxa de atualização na execução do programa; 26
Variável frameCount • Número de frames desde o início da execução do programa; • Cada chamada ao draw incrementa esse valor; 27
Modo contínuoExemplo do frameCount • void setup() { • println(frameCount); • frameRate(1); • } • void draw() { • println(frameCount); • rect(50, 50, frameCount, frameCount); • }
Modo Contínuo frame “0” • Executa a função setup.
Modo Contínuo frame 1 • Executa a primeira vez a função draw; • É como se estivesse chamando rect(50, 50, 1, 1);
Modo Contínuo frame 2 • Executa a segunda vez a função draw; • É como se estivesse chamando rect(50, 50, 2, 2);
Implementação de uma animação simples • Definir o bloco setup; • (OPCIONAL) Configurar o tamanho da tela no bloco setup; • (OPCIONAL) Configurar o frame rate no bloco setup; • Definir o bloco draw; • Escrever o código do objeto a ser animado dentro do draw; • Definir uma variável para cada propriedade do objeto a ser animada; • Substituir o parâmetro do objeto a ser animado pela variável; • Atualizar o valor da variável associada ao objeto.
2) (OPCIONAL) Configurar o tamanho da tela no bloco setup 34
6) Definir uma variável para cada propriedade do objeto a ser animada 38
7) Substituir o parâmetro do objeto a ser animado pela variável 39
8) Atualizar o valor da variável associada ao objeto (MOVIMENTO) 40
float px = 10; void setup() { size(300,200); frameRate(30); } void draw() { rect(px, 10, 20, 40); px = px + 40; }