#20: Olho
float ang;
float center1, center2, altura;
float x1, y1, x2, y2;
float[] ponto = new float [2];
void setup()
{
size(400, 400);
}
void draw()
{
background (150, 150, 150);
center1 = 200;
altura = 200;
//desenhar olhos
noStroke();
fill(255);
ellipse(center1, altura, 240, 240);
//ajustar angulo do mouse de acordo com o centro da tela
x1 = mouseX - center1;
y1 = mouseY - altura;
//descobre o angulo de inclinação do mouse em relação ao centro do olho
//e move a pupila de acordo com ele
MovePupil(x1, y1, center1);
}
void MovePupil(float posX, float posY, float center)
{
if(mouseY < 200)
{
ang = 360 + degrees(atan2(posY,posX));
ponto = p2c(ang, 60);
fill(0);
}
else
{
ang = degrees(atan2(posY,posX));
ponto = p2c(ang, 60);
fill(0);
}
ellipse(ponto[0] + center, ponto[1] + altura, 120, 120);
}
float[] p2c(float a, float r)
{
float coordenada[] = new float [2];
coordenada [0] = r* cos(radians(a));
coordenada [1] = r* sin(radians(a));
return coordenada;
}
0 comentários:
Postar um comentário