0
我想實現以下處理 - Line在鼠標指針的方向
在我的代碼,如圖像的效果,我成功地創造出這種效果,但在重複的效果似乎繁殖向內。任何人都可以幫助我使我的代碼在上面的圖像中達到效果嗎?
void setup(){
size(500,500);
frameRate(60);
ellipseMode(CENTER);
smooth();
loop();
}
void draw() {
background(#ffffff);
//border
strokeWeight(3);
fill(255);
arc(50, 50, 50, 50, -PI, -PI/2);
fill(255);
arc(450, 450, 50, 50, 0, PI/2.0);
line(25, 50, 25, 475);
line(25, 475, 450, 475);
line(475, 450, 475, 25);
line(475, 25, 135, 25);
fill(0);
text("MAGNETS", 60, 30);
//Lines
for(int i=0; i<3; i++){
drawMagnet();
}
}
float angle = 0;
int x = 75;
int y = 75;
float tAngle = 0;
float easing = 0.1f;
void drawMagnet(){
int l = 10; //length
angle = atan2(mouseY - y, mouseX - x);
float dir = (angle - tAngle)/TWO_PI;
dir -= round(dir);
dir *= TWO_PI;
tAngle += dir * easing;
stroke(0);
translate(x, y);
rotate(tAngle);
line(-l, 0, l, 0);
}