1.7 Interagindo

Costumo classificar em três grupos o q podemos criar usando Javascript/p5:

  • imagens estáticas (criar e manipular);
  • imagens em movimento (animações);
  • interações.

Esta classificação é bem pessoal e pode sofrer alterações conforme eu aprenda mais a respeito da linguagem. Por enquanto ela satisfaz aos meus objetivos.

Até o momento vimos de forma bem rudimentar a criação de imagens a partir do uso de um comando de desenho (o point()) e alguns modificadores (o stroke() e o strokeWeight()). Existem outros comandos para o desenho de outras formas básicas, mas foi uma opção minha não falar sobre eles até agora. Com certeza esses comandos serão abordadas no “apêndice” desta unidade inicial cujo objetivo é reunir o q considero mais elementar em p5.

Depois, abordamos as variáveis, sua função e o emprego delas para a criação de uma animação simples. O conhecimento de um comando de condicional, o if(), permitiu-nos dar um passo à frente neste assunto.

Para encerrar a lista acima, falta abordar o terceiro item. Até então, note q a “audiência” nada faz além de assistir ao q o programa executa. Quer seja a criação de um ponto na tela ou a movimentação dele, tudo é assistido de forma passiva. Em uma interação, a audiência pode agir e mudar o comportamento do q o programa faz. Veremos de forma bem iniciática como isso acontece.

Vamos partir do mesmo programa q gerou o ponto no meio do canvas, mostrado no post anterior.

interacao_1

Só para revisar, a sequência de comandos acima gera um ponto de 10px (strokeWeight(10)) na cor preta (stroke(0) na posição x = 200 e y = 200. Este ponto permanecerá imóvel até o fim dos tempos.

Para interagirmos na sua posição, por exemplo, e movê-lo no canvas, vamos conhecer dois comandos: o mouseX e o mouseY.

Tanto um quanto o outro registram a posição do mouse no eixo X e eixo Y e retornam um valor numérico. Podemos usar estes valores nas coordenadas X e Y do comando point(), por exemplo. Vai ficar assim:

interacao_2
Os comandos mouseX e mouseY acima atuam sobre as coordenadas do ponto em tempo real

Execute o código e note q o ponto preto acompanhará o movimento do mouse no canvas criado.

Como “bônus” para esta postagem, uma rápida modificação no programa acima nos fornecerá um tosco Paint (quem for da velha guarda vai saber do q estou falando). Para tanto basta recortar a linha background() q está em function draw() {} e colar em function setup () {}, logo após o createCanvas().

interacao_5
Acima, um protótipo de programa de desenho beeeem basicão!

Agora é só se divertir com seu primeiro programa de desenho!

Acesse aqui o código final desta postagem.

1.7 Interagindo