[Processing] 弹球

 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 }

posted @ 2018-07-05 19:03  夜黔  阅读(412)  评论(0编辑  收藏  举报