quarta-feira, 4 de maio de 2016

Aula 10 - Botão




void setup() {
  size(250, 200);
}

void draw() {
  background(0);
  if (mouseX > 10 && mouseX < 110 && mouseY > 10 && mouseY < 190) {
    fill(255, 127, 0);
  } else {
    fill(0, 127, 255);
  }
  rect(10, 10, 100, 180);
  if (dist(mouseX, mouseY, 180, 100) < 60) {
    fill(255, 0, 127);
  } else {
    fill(0, 255, 127);
  }
  ellipse(180, 100, 120, 120);
}

float dist(int x1, int y1, int x2, int y2) {
  return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}

void mouseClicked() {
  if (mouseX > 10 && mouseX < 110 && mouseY > 10 && mouseY < 190) {
    link("http://www.superreviewtime.blogspot.com.br");
  } else if (dist(mouseX, mouseY, 180, 100) < 60) {
    link("http://www.superreviewtime.blogspot.com.br/?rand");
  }
}

Para detectar um botão retangular, pode-se comparar as coordenadas X e Y do mouse com as posições X e Y dos lados do retângulo, já para o Círculo, pode-se usar uma função de distância para comparar se a distância entre o mouse e o centro do círculo é menor que o raio do círculo.

Nenhum comentário:

Postar um comentário

Pode falar, eu não mordo... Pelo menos não através da internet