Processing - Programação para dispositivos móveis

Desenvolver aplicativos móveis tem sido o alvo de muitos no mundo inteiro. É o seu caso? Isso pode ser uma dor de cabeça, em vista dos diversos ambientes: iOS, Android, Windows Phone, web, e por aí vai. Seria bom escrever um único código e com pouca ou nenhuma mudança termos nossos aplicativos em qualquer dessas plataformas. Com a linguagem de programação Processing, isso é possível.

[ Hits: 22.778 ]

Por: Juliao Junior em 12/01/2015


Sua primeira animação



Vamos utilizar o código anterior, mas agora com algumas alterações para torná-lo mais interessante.

int x = 1;

void setup()
{ 
  size(480,360);
  frameRate(30);
  smooth();
}

void draw()
{
  if (x > 30)
  background(150);
  else 
  background(0);
  
    
  strokeWeight(2);
  fill(0,0,255);
  ellipse(100.,height*0.25,80.,80.);
  fill(255,0,0);
  ellipse(300.,height*0.25,80.,120.);
  
  strokeWeight(3);
  rect(100.,height*0.6,80.,80.);
  fill(0,255,0);
  rect(300.,height*0.6,80.,120.);
  
  strokeWeight(5);
  line(100.,height*0.5,350.,height*0.5);
  
  strokeWeight(12);
  line(450.,height*0.15,450.,height*0.95);
  
  x++;
  if (x == 60)
      x = 0;

}

Use CTRL+R e veja o programa em execução. Vamos ver as mudanças que realizamos.

Logo na primeira linha definimos uma variável. Usamos a variável x como controle para nossa animação, conforme explicamos adiante. Dentro da função setup(), você vê a expressão frameRate(30). Como ela, definimos quantas vezes a função draw() é executada em cada segundo. Neste caso, a função draw() será executada 30 vezes por segundo. Altere esse valor algumas vezes, tanto valores maiores como menores, e veja o efeito.

Temos duas linhas que definem a cor de fundo. Explicamos isso em alguns instantes. No momento, note que utilizamos apenas um valor para a cor, com background(150). Este é um modo de utilização do padrão RGB. Com um único valor, este será utilizado para as três cores do padrão.

Outro acréscimo importante são as linhas com fill(a,b,c). Nesta linha definimos a cor de preenchimento do que será desenhado na tela após a sua definição. Por exemplo, em sua primeira aparição no código temos fill(0,0,255). Neste momento definimos uma cor de preenchimento. Abaixo dessa linha definimos uma elipse, que terá o preenchimento com a essa cor. Mas logo após, temos a linha fill(255,0,0), definindo outra cor. Assim, as figuras indicadas daí para frente utilização esta nova cor, até que apareça novamente outro fill(a,b,c).

Se você compilou/rodou o programa, viu que ele não é estático como o programa anterior. A cor de fundo fica alternando entre duas cores diferentes. Como fizemos isto? Utilizando a mágica proporciona pela função draw(). Lembre-se que a função draw() é executada várias vezes por segundo. Em nosso caso, 30 vezes por segundo. Definimos essa taxa de repetição quando escrevemos frameRate(30), conforme já explicado. Portanto, alterar a cor de fundo é simples: basta alterar os valores quando escrevemos background(a,b,c). Para isso servem as linhas no começo e no final da função draw(). Veja o trecho do código que estamos falando.

  if (x > 30)
  background(150);
  else 
  background(0);
(...)
  x++;
  if (x == 60)
      x = 0;

Na primeira linha do código, declaramos e atribuímos um valor para uma variável (int x = 1;). Esta será a variável de controle para alterar a cor de fundo. No início da função draw(), utilizamos um simples if..else para verificar o valor de x. Se x for menor que 30, usamos background(150); se for maior, usamos background(0). Se não escrevermos mais nada, também nada acontece. Como definimos a variável com x = 1 no início do código, sempre seria escolhida a opção background(150). Mas como a função draw() é executada várias vezes por segundo, cada vez que ela é executada o valor de x é incrementado em uma unidade. Fazemos isso com x++ quase no fim do código.

Dessa forma, a variável x inicia o programa utilizando o valor 1, mas aumenta para 2, 3, e assim por diante, cada vez que draw() é executada. Quando x passar a valer 30, o if...else fará a escolha por background(0). E para garantir que a cor fique alternando, usamos mais um if para retornar o valor de x para zero.

Use a sua criatividade. Com esses simples exemplos você já viu como desenhar várias formas geométricas na tela, como alterar características como espessura da linha, cor de preenchimento das figuras, cor de fundo da janela, e até a ideia básica para gerar uma animação por utilizar a função draw(). Na próxima seção você verá uma animação mais interessante.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Primeiros passos
   3. Sua primeira animação
   4. Uma animação mais legal
   5. Passos adicionais
Outros artigos deste autor

Inkscape - Introdução (Parte 3)

Grace - Usando a função "Regression"

Guia Introdutório do Linux

Usando variáveis de ambiente

APT - Fantástico gerenciador de pacotes

Leitura recomendada

Hello Android! Meu Primeiro APP

Como fazer root em aparelhos Samsung

ARCore: SDK para realidade aumentada da Google

Ubuntu/Debian/Kali Linux e outros no Android

Processing - Interagindo com o usuário

  
Comentários
[1] Comentário enviado por fabio em 12/01/2015 - 13:48h

Interessante. A estrutura do programa é similar a do Arduino, que tem as funções loop() e setup().

Ansioso para acompanhar o restante da série!

[2] Comentário enviado por juliaojunior em 12/01/2015 - 14:03h


fabio, a estrutura é a mesma por que a linguagem é praticamente a mesma. Se estou bem informado, eles pegaram o Processing e usaram para construir a linguagem para o Arduino.

[3] Comentário enviado por Peacock87 em 18/05/2023 - 04:23h

I can see this post and we put your site in my wish list.
https://www.mythdhr.ltd/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts