效果图
代码与注释
main.pde
Particle[] p = new Particle[800];
int diagonal;
void setup() {
size(640, 480);
for (int i = 0; i<p.length; i++) {
p[i] = new Particle();
p[i].o = random(1, random(1, width/p[i].n));
}
diagonal = (int)sqrt(width*width + height * height)/2; ///< 对角线长度的一半
background(0);
noStroke();
fill(255);
frameRate(30);
}
float rotation = 0;
void draw() {
/// @note 当点击鼠标,则禁用背景清屏
if (!mousePressed) {
background(0);
}
translate(width/2, height/2);
rotation -=0.002;
rotate(rotation); ///< 外层旋转(整体粒子)
for (int i = 0; i<p.length; i++) {
p[i].draw();
/// @note 如果粒子跑出屏幕范围,则重置该粒子
if (p[i].drawDist()>diagonal) {
p[i] = new Particle();
}
}
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!