瀑布粒子系统

时间:2022-10-10 20:39:59

在上一篇焰火粒子系统做稍微改进,就可以实现瀑布粒子系统,因为他们的原理是一样的,只是焰火粒子系统的水平和竖直初速度均不为0,而瀑布子系统只有水平方向的初速度,所以瀑布型是朝着同一个水平方向喷出,就像瀑布一样。所以只需改变粒子的一些初始状态就行了,将ParticleSet类的add方法改为如下:

	/**
	 * 向粒子集合添加指定个数的粒子对象
	 * 
	 * @param count
	 * @param startTime
	 */
	public void add(int count, double startTime) {
		for (int i = 0; i < count; i++) {
			int tempColor = this.getColor(i);
			int tempR = 1;
			// 竖直方向的速度设置为0
			double tempv_v =0;
			// 随机产生粒子水平方向的速度
			double tempv_h = 20 +10 * (Math.random());
			int tempX = 50;
			// 随机产生粒子Y坐标,90~100之间
			int tempY = (int) (50 - 10 * (Math.random()));
			// 创建粒子对象
			Particle particle = new Particle(tempColor, tempR, tempv_v,
					tempv_h, tempX, tempY, startTime);
			particleSet.add(particle);// 加入集合
		}
	}


附上图片效果:

瀑布粒子系统