碰撞的小球-类文件实现

这里用一个类文件来定义小球的位置和速度。其中的add函数用来实现位置和速度的变化

class PVector{
float x;


float y;


 PVector(float x_,float y_){
 x = x_;

 y = y_;



  }


void add(PVector v){
 y = y + v.y;

 x = x + v.x;

 
   }
  }

引用这个类文件,实现代码的简化。但是如果仅仅是实现这个功能,这个代码起始并没有被简化,但是可以在上面的类文件里实现更多的类似add的函数,比如减法,乘法等等。

PVector location;

PVector speed;

int diameter = 20;


void setup(){
size(400,400);

smooth();

background(255);


 location = new PVector(100,100);

speed = new PVector(3.3,5);


  }

void draw(){
background(255);


 location.add(speed);



 if((location.x > width - diameter/2)||(location.x < diameter/2)){
  speed.x = speed.x * -1;

 
 }


 if((location.y > height - diameter / 2)||(location.y < diameter / 2)){
  speed.y = speed.y * -1;

 
 }
stroke(0);

 fill(175);

 ellipse(location.x,location.y,diameter,diameter);


  }

Capture

发表评论