1 PVector localPos = new PVector(0,0);//起始位置
2 PVector velocity;//速度方向
3 float speed = 20;//速度大小
4
5 void setup()
6 {
7 size(800,600);
8 velocity = new PVector(random(-1,1),random(-1,1));
9 velocity.normalize();
10 velocity.mult(speed);
11 }
12
13 void draw()
14 {
15 background(#CCCCCC);
16 translate(width/2,height/2);
17 stroke(#CBCB00);
18 strokeWeight(8);
19 point(0,0);//绘制中心点
20
21 if(localPos.x>=width/2.0-5 || localPos.x<=-width/2.0+5)//超出范围则反转速度方向
22 {
23 velocity.x = -velocity.x;
24 }
25 if(localPos.y>=height/2.0-5 || localPos.y<=-height/2.0+5)
26 {
27 velocity.y = -velocity.y;
28 }
29
30 localPos.add(velocity);
31
32 stroke(0,0,0);
33 strokeWeight(5);
34 ellipse(localPos.x,localPos.y,10,10);
35 }