Javafx实现简单粒子系统
通过上篇粒子系统的介绍,我们对粒子系统有了初步的了解。
接下来我们从简单粒子系统入手一步步深入理解粒子系统。
本篇中用Circle模拟粒子。
程序讲解:
1、粒子对象定义: 定义Particle对象继承Parent。 定义以下属性:
//x坐标 DoubleProperty x = new SimpleDoubleProperty(); //y坐标 DoubleProperty y = new SimpleDoubleProperty(); //粒子半径 double raidus; //水平速度 double vx; //垂直速度 double vy; //水平加速度 double accx; //垂直加速度 double accy; //粒子存在时长 DoubleProperty timer = new SimpleDoubleProperty();
2、更新粒子 定义update方法实现粒子更新。
public void update() { timer.set(timer.get() - 1); x.set(x.get() + vx); y.set(y.get() + vy); vx += accx; vy += accy; }
3、粒子创建和死亡 通过构造函数创建新的粒子。 timer属性的值判断粒子是否死亡。
public boolean isDead() { return timer.get() < 0; }
效果图: