放一个比较不错的flash缓动函数上来

函数如下:

MovieClip.prototype.smoothMove = function(sp, tx,ty) {
    if(tx!=0)
 this._x = this._x+sp*(tx-this._x);//缓动
    if(ty!=0)
    this._y=this._y+sp*(ty-this._y);//缓动
};
MovieClip.prototype.MoveTo = function(sp, sx,sy) {   //函数 中第一个参数是缓动系数(取值0--1之间),sx,sy 分别是目标点x,y坐标,当值为0时为在该方向不移动。
 this.age = 0;
 this.onEnterFrame = function() {
  if (this.age
<30) {
   this.smoothMove(sp, sx,sy);
  } else {
   delete onEnterFrame;
  }
  this.age++;
 };
};

调用的例子:

    //水平缓动:
  anyMovieClip.MoveTo(0.2, 200,0);  
    //垂直
   anyMovieClip.MoveTo(0.2, 0,200);
    //各个方向
    anyMovieClip.MoveTo(0.2, 200,300);

    
posted @ 2008-03-28 21:56 zhangsir 阅读(36) 评论(3)  编辑 收藏 所属分类: 想法

  回复  引用    
#1楼 2008-04-06 14:25 | flash蔡鸟 [未注册用户]
sp, tx,ty代表什么
  回复  引用    
#2楼 2008-04-06 14:25 | flash蔡鸟 [未注册用户]
请问sp, tx,ty各代表什么呢??---求教
  回复  引用  查看    
#3楼 [楼主]2008-04-07 10:43 | zhangsir      
sp 可以理解为缓动系数,类似于阻尼系数,值在0---1之间,可以调整大小观看效果。
tx是移动目标点的x坐标,ty是移动目标点的y坐标。

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-07 10:50 编辑过
 
另存  打印