making things move as3 ---缓动和弹性公式

简单缓动,长形:

var dx:Number = targetX - sprite.x;

var dy:Number = targetY - sprite.y;

vx = dx * easing;

vy = dy * easing;

sprite.x += vx;

sprite.y += vy;


简单缓动,中形:

vx = (targetX - sprite.x) * easing;

vy = (targetY - sprite.y) * easing;

sprite.x += vx;

sprite.y += vy;


简单缓动,短形:

sprite.x += (targetX - sprite.x) * easing;

sprite.y += (targetY - sprite.y) * easing;

简单弹性,长形:

var ax:Number = (targetX - sprite.x) * spring;

var ay:Number = (targetY - sprite.y) * spring;

vx += ax;

vy += ay;

vx *= friction;

vy *= friction;

sprite.x += vx;

sprite.y += vy;


简单弹性,中形:

vx += (targetX - sprite.x) * spring;

vy += (targetY - sprite.y) * spring;

vx *= friction;

vy *= friction;

sprite.x += vx;

sprite.y += vy;

简单弹性,短形:

vx += (targetX - sprite.x) * spring;

vy += (targetY - sprite.y) * spring;

sprite.x += (vx *= friction);

sprite.y += (vy *= friction);


偏移弹性运动:

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 = fixedX + Math.sin(angle) * springLength;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值