【互动媒体创意编程4】processing中用粒子系统实现的烟花
粒子系统在前面几章中已经用了很多了,自我感觉现在没有什么太大的问题,稍稍有些熟练了。
这一章不知道写什么,就又看了胡子大叔发在youtube上的coding challenge,现在准备模仿者来把它编出来。
因为原来的效果实在太棒了,没有进行过多的修改,就对照着照葫芦画瓢编了出来。
效果:
我们观察这张图容易知道,我们首先需要一些烟花,其次需要在必要的时候在烟花的位置生成一列粒子。
那么,我们需要做的第一步就是定义这样的一个arrayList,用于存放这些烟花。
ArrayList<Firework> fireworks;
fireworks = new ArrayList<Firework>();
在draw()函数中,我们需要动态随机生成一些“烟花”。这些烟花在爆炸之前将会以圆点的方式向上运动,并受重力作用减速直到速度变为零之后消失。
if (random(1) < 0.5){
fireworks.add(new Firework());
}
对这些烟花刻画它们的轨迹:
for (int i = fireworks.size()-1; i >= 0; i--){
Firework f = fireworks.get(i);
f.