数学、物理算法ActionScript实现(2)
1.簡單的緩動
A:
sprite.vx=(targetX-sprite.x)*easing;
sprite.vy=(targetY-sprite.y)*easing;
sprite.x+=sprite.vx;
sprite.y+=sprite.vy;
B:
var dx:Number=targetX-sprite.x;
var dy:Number=targetY-sprite.y;
sprite.vx=dx*easing;
sprite.vy=dy*easing;
sprite.x+=sprite.vx;
sprite.y+=sprite.vy;
C:
sprite.x+=(targetX-sprite.x)*easing;
sprite.y+=(targetY-sprite.y)*easing;
2.簡單的彈性
A:
var ax:Number=(targetX-sprite.x)*spring;
var ay:Number=(targetY-sprite.y)*spring;
sprite.vx+=ax;
sprite.vy+=ay;
sprite.vx*=friction;
sprite.vy*=friction;
sprite.x+=sprite.vx;
sprite.y+=sprite.vy;
B:
sprite.vx+=(targetX-sprite.x)*spring;
sprite.vy+=(targetY-sprite.y)*spring;
sprite.vx*=friction;
sprite.vy*=friction;
sprite.x+=sprite.vx;
sprite.y+=sprite.vy;
C:
sprite.vx+=(targetX-sprite.x)*spring;
sprite.vy+=(targetY-sprite.y)*spring;
sprite.x+=(vx*=friction);
sprite.y+=(vy*=friction);
3.彈性偏移
var dx:Number=sprite.x-fixedX;
var dy:Number=sprite.y-fixedY;
var angle:Number=Math.atan2(dy,dx);
var targetX:Number=fixedX+Math.cos(angle)*springLength;
var targetY:Number=fixedY+Math.sin(angle)*springLength;
?
數(shù)學、物理算法ActionScript實現(xiàn)(1)
轉(zhuǎn)載于:https://www.cnblogs.com/HelloCG/archive/2009/01/03/1367649.html
總結(jié)
以上是生活随笔為你收集整理的数学、物理算法ActionScript实现(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 23.2.3 高速缓存依赖性(1)
- 下一篇: 唐骏《我的成功也可以复制》1,盖婚房