#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);
    }
  }
  
}


Share this:

CONVERSATION

0 comentários:

Postar um comentário