从粒子系统到群体智能 part4
Part4 完善Part3的多线程画图
我们想要实现以下的效果
粒子逐渐变大,而且产生了漂亮的渐变色,并且在撞击窗体边缘时产生弹的效果
撞击判断
public int isHit2(int x, int y, int size) {
if (x <= 0 || x + size >= 800) {
return 1;
} else if (y <= 0 || y + size >= 600) {
return 2;
} else
return 0;
}
在线程中增加判断语句
if (isHit2((int) position.x, (int) position.y, i) == 1) {
speed = -speed;
velocity.setX(speed);
}else if(isHit2((int) position.x, (int) position.y, i) == 2){
velocity.setY(-80);
}
改变颜色
color = new Color(255, i%255, i%255);
颜色可以随自己的喜好进行修改
改变大小
g.fillOval((int) position.x , (int) position.y , i, i);
大小随i的变化而增大