注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿当的博客

世界是个游乐场

 
 
 

日志

 
 

缓动  

2010-11-14 13:20:00|  分类: 算法 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1)何时停止缓动:

private function onEnterFrame(event : Event) : void {

var dx:Number = targetX - ball.x;

if (Math.abs(dx) < 1){

ball.x = targetX;

removeEventListener(Event.ENTER_FRAME,onEnterFrame);

} else {

var vx:Number = dx * easing;

ball.x += vx;

}

}

}

2) 重影效果可以让第一个影子缓动至物体,第二个影子缓动至第一个影子,第三个影子缓动至第二个影子。。。

function onEnterFrame(event:Event): void{

moveBall(ball0,mouseX,mouseY);

moveBall(ball1,ball0.x,ball0.y);

moveBall(ball2,ball1.x,ball1.y);

}

private function moveBall(ball:Ball,targetX:Number,targetY:Number):void{

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

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

ball.vy += gravity;

ball.vx *= friction;

ball.vy *= friction;

ball.x += ball.vx;

ball.y += ball.vy;

}

3) 缓动:

ball.x += (targetX - ball.x) * 0.2;

ball.y += (targetY - ball.y) * 0.2;

4) 弹性:

dx = targetX - ball.x;

dy = targetY - ball.y;

ax = dx * 0.2;

ay = dx * 0.2;

vx += ax;

vy += ay;

vx *= friction;

vy *= friction;

ball.x += vx;

ball.y += vy;

  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018