Bons ventos para os navegadores incansáveis da internet!
Dessa vez a tarefa é mais complexa:
Para realizar tal ato, a primeira coisa que irei fazer é baixar uma biblioteca que já vai ter as sliders codificadas, essa biblioteca pode ser baixada do site http://www.sojamo.de/libraries/controlP5/ ; basta descompactar dentro da pasta "libraries" do processing.
O bloco eu também irei partir do arquivo feito em sala de aula:
Bem, para começar, eu adicionei as sliders e fiz algumas alterações no código, primeiramente eu apenas tentei achar uma posição legal, e achei interessante elas ficarem na parte de cima da tela, mostrando pro usuário que ele pode fazer a alteração nos blocos logo de início.
Depois eu comecei a desenvolver e testar uma fórmula para criar os blocos dentro de um laço duplo, o resultado foi este:
Que basicamente significa que cada bloco vai ser desenhado a partir do centro, com um desconto equivalente à quantidade total(quantx e quanty) de blocos e um acréscimo equivalente ao número atual(i e j) de blocos. Os números 50 e 100 são por conta do tamanho do bloco, mas vou substituir por uma variável e transformar isso em uma função nova pra facilitar o trabalho.
Agora nós temos as sliders e a função que desenha o quadro, falta apenas o comando para desenhar ele quando o valor das sliders for alterado.
Eu tentei usar o código do exemplo deste site para fazer isso, mas deu algo errado e eu não conseguir fazer da mesma forma. Então eu fui neste site atrás das funções na tentativa de achar algum "getValue", pois esse "get" é geralmente usado pra nomear funções que guardam algum valor, e por sorte eu achei exatamente o que estava procurando, o nome da função era o mesmo que eu imaginava...
Criei 2 variáveis globais(pra não ter erro) para receber o valor inteiro de cada slider, e usei essas variáveis para desenhar a pintura. Eu não queria por ela no draw pois eu queria que a pintura atualizasse apenas após eu mexer nas sliders, e como não deu pra fazer igual no exemplo, eu pensei em outra solução: Tem uma coisa que acontece sempre que eu mexo nas sliders, que é um mouseReleased, então eu posso usar um evento disso para fazer a pintura:
Download do arquivo do processing aqui!
Nenhum comentário:
Postar um comentário