基于Processing的人物移动演示:两点间匀速移动
2015-06-30 23:05
183 查看
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);
}
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);
}
相关文章推荐
- mongodb的分布式集群(1、主从复制)
- 数据库重复写入数据问题处理
- autossh SSH反向隧道使用
- Flask中endpoint的理解
- .Net配置文件——反射+配置文件存储类型实例
- .Net配置文件——反射+配置文件存储类型实例
- SMO要点总结
- CS,一,数据存储
- MAC常用java开发软件
- 使用 Fluent API 配置/映射属性和类型2
- Ceph性能优化总结(v0.94)
- WebView无法显示微社区
- Java学习日记之方法
- 结构及其使用 struct (C#)
- java中的set集合
- block 的ARC和MRC中的区别
- 菜鸟好文推荐(九)——程序员”青春饭”问题之我见
- 权限系统
- DOM操作XML实例
- 黑马程序员-java-小天教你使用eclipse