Introdução à Programação Gráfica
usando Processing
ANIMAÇÃO
+ - Permite que o programador
Baseada em duas funções
O que se repete: a função draw
Todo código é repetido indefinidamente
Quando o bloco draw termina, ele é executado novamente
void draw() {
// Coloque aqui o código que deve rodar indefinidamente
}
+ - Exemplo
void draw() { println("Olá, Processing"); }
+ - Cuidados
Um programa só pode ter um bloco draw
Configuração do modo contínuo
+ - função setup
void setup() {
// Coloque aqui o código que será executado apenas uma vez
}
A função size só pode ser colocada aqui
Controle da taxa de repetição
Variável frameRate
Por padrão, o bloco draw se repete um máximo de 60 vezes em cada segundo
A taxa de repetição é chamada de frameRate
A variável frameRate indica o número de frames por segundo (fps) que o draw é executado
+ - Exemplo
void draw() { println(frameRate); }
Valor do frameRate não é exato
Número de repetições
Variável frameCount
+ - Exemplo
void draw() { print("O valor de frameRate: "); println(frameRate); print("O valor de frameCount: "); println(frameCount); }
Alterar a taxa de repetição
Função frameRate
Quanto maior o valor, mais rápida a atualização
Quanto menor o valor, mais lenta a atualização
+ - Exemplo
void draw() { frameRate(3); textFont(createFont("Arial", 20)); text("frameCount é:", 10, 50); text(frameCount, 10, 70); print("O valor de frameCount é:"); println(frameCount); }
+ - Exemplo corrigido
void draw() { frameRate(3); background(0); textFont(createFont("Arial", 20)); text("frameCount é:", 10, 50); text(frameCount, 10, 70); print("O valor de frameCount é:"); println(frameCount); }
Implementando uma animação simples no Processing
Até agora o código que executamos foi linha a linha
Estrutura de Seleção ou Condicional permite a escolha de um grupo de ações a ser executado apenas quando certas condições são satisfeitas
+ - Condição
Pode ser verdadeira (true) ou falsa (false)
+ - Formada por
&&
Verdadeiro se todas as condições forem verdadeiras
~ Analogia com válvulas conectadas
||
Verdadeiro se qualquer uma das duas condições forem
verdadeiras
~ Analogia com dois canos diferentes
!
Inverte um valor
Estrutura de seleção simples
if (condição)
instrução a ser executada se a condição for verdadeira
Significa: a ação só pode ser executada se a condição for verdadeira
if(px==100)
println("Chegou na reta final!");
Instruções podem ser agrupadas com { e }
if(condição) {
primeira instrução a ser executada...
segunda instrução a ser executada...
...
}
if(px==200) {
println("Voltando para o início");
px = 0;
}
Estrutura de seleção composta
Permite considerar um fluxo alternativo ao fluxo principal
Palavra-chave else
Nunca o fluxo alternativo é executado após o principal
if(condição)
comando
else
comando alternativo
if(condição) {
comando 1
comando 2
}
else
comando alternativo
if(condição)
comando
else {
comando alternativo 1
comando alternativo 2
}
if(condição) {
comando 1
comando 2
} else {
comando alternativo 1
comando alternativo 2
}