#3 Funções - MAMI
A atividade foi iniciada em sala, onde foram criadas as funções círculo e bloco, onde o conjunto de círculos era criado com cores aleatórias e então chamado através do bloco. O desafio então era: Apresentar o desenvolvimento de uma aplicação que gere quadros com a função bloco utilizando duas sliders, em posições na tela à sua escolha, para definir as quantidades de blocos na horizontal e na vertical.
Minha dificuldade inicial foram os sliders, com os quais nunca havia trabalhado antes, mas acabei por utilizar a biblioteca ControlP5, depois disso só foi necessário configurar o comportamento dos blocos de acordo com os sliders.
import controlP5.*;
ControlP5 gui;
int blocoHorizontal = 0;
int blocoVertical = 0;
void setup(){
size(600, 600);
//sliders
gui = new ControlP5(this);
gui.addSlider("blocoHorizontal")
.setRange(1,5)
.setValue(blocoHorizontal)
.setPosition(0,550)
.setNumberOfTickMarks(5)
.setSize(150,25);
gui = new ControlP5(this);
gui.addSlider("blocoVertical")
.setRange(1,5)
.setValue(blocoVertical)
.setPosition(300,550)
.setNumberOfTickMarks(5)
.setSize(150,25);
}
void circulo (int x, int y, int r){
fill(random(255),random(255),random(255)); // preenche os círculos com cores aleatórias
ellipse(x, y, r, r);
}
void bloco(int x, int y, int t){
fill(random(255),random(255),random(255)); // preenche o bloco com cor aleatória
rect(x, y, t, t);
circulo(x+(t/2), y+(t/2), t);
circulo(x+(t/2), y+(t/2), t/2);
circulo(x+(t/2), y+(t/2), t/4);
}
void draw(){
randomSeed(10);
background(0);
for (int a = 0; a < blocoVertical; a++){
for (int b = 0; b < blocoHorizontal; b++){
bloco(b*100, a*100, 100);
}
}
}

0 comentários:
Postar um comentário