效果图:
颤动:
波浪:
原理:都是利用了加速度效果,一开始给粒子加x,y的加速度,逐渐递减速度,就是粒子损耗率,波浪效果是一开始粒子速度太大,逐渐递减产生波浪效果。
颤动效果是粒子加速度还未减到0,一直加速度正负交替产生波浪效果。
伪代码:
// 粒子总共有两种状态,一种是自由落体,一种就是受到吸力。
if(!this.globleDown&&this.y>0){
var yc = this.toy - this.y;//到达目的地 速度为0
var xc = this.tox - this.x;
this.jl = Math.sqrt(xc*xc+yc*yc);//终点和起始点的直线距离
var za = 10;//加速度
var ax = za*(xc/this.jl),//水平与垂直加速度
ay = za*(yc/this.jl),
vx = (this.vx+ax*time)*0.97,//粒子速度损耗率
vy = (this.vy+ay*time)*0.97;//到达目的地 距离为0 速度还是有的 然后逐渐损耗 具有单像素震动效果 字体波浪效果
this.vx = vx;
this.vy = vy;