基于Processing的人物移动演示:两点间匀速移动

来源:互联网 发布:ultra sigma软件 编辑:程序博客网 时间:2024/04/29 23:07
float x1 = 100;
float y1 = 100;
float x2 = 200;
float y2 = 300;
float speed = 1.2;

void setup(){
size(500, 500);
}
void draw(){
  go();
}

void go(){
if (x2 == x1 && y2 == y1) return;

float dx = x2 - x1;
float dy = y2 - y1;
float dd = sqrt(dx * dx + dy * dy);
println(dd);


if (dd < speed){
      x1 = x2;
      y1 = y2;
}else{
    x1 += dx * (speed / dd);
    y1 += dy * (speed / dd);
}
  ellipse(x1,y1,50,50);
  ellipse(100,100,10,10);
  ellipse(200,300,10,10);
    
  String t = "人物移动演示:两点间匀速移动";
  text(t, 160, 60);

}


0 0
原创粉丝点击