当前位置:首页>网络学院>网页制作>Flash教程>文章内容

定点移动动画之移动次数法

[ 来源:http://www.it55.com | 作者: | 时间:2007-10-29 | 收藏 | 推荐 ] 【

三、移动次数法

  前两个方法都是利用路径的长度来进行判断的,而这个方法就像我们出去旅行,计算到达目的地要多长时间一样,把总路径长度按照移动的步长计算出总共要用移动多少次,然后按照移动次数来控制影片的运动。


  先来看看源代码吧:
var mouseListener:Object = new Object();
var totalLength:Number = 0;
var speed:Number = 3;
var count:Number = 0;
var spare:Number = 0;
var position:Number = 0;
mouseListener.onMouseDown = function() {
       _root.totalLength = people._x-_root._xmouse;
       _root.count = Math.abs(Math.floor(_root.totalLength/_root.speed));
       _root.spare = _root.totalLength%_root.speed;
       _root.onEnterFrame = function() {
              if (_root.count != 0) {
                     //判断方向
                     if (_root.totalLength>0) {
                            obj._x += _root.speed;
                     } else {
                            obj._x -= _root.speed;
                     }
                     _root.count--;
              } else {
                     if(_root.totalLength<0){
                            obj._x -= _root.spare;
}else{
       obj._x+=_root.spare;
}
                     _root.spare = 0;
                     _root.totalLength = 0;
                     delete _root.onEnterFrame;
              }
       };
};
Mouse.addListener(mouseListener);

  以上代码就是一个按次数移动的方法。其中的_root.spare = _root.totalLength%_root.speed;可能会不理解,其实这是求取不足一次移动的距离,也是剩余的距离不够作为一次移动步长了,最后只要加上这段距离就能到达目的地了。

      如果哪位高手还什么更好的解决方法不妨拿出来共享一下,让大家学习学习。不懂的朋友或者认为我上面的代码有误的朋友(上面的代码都没有在Flash中运行过,只是凭空写出来的)可以联系我跟我讨论,本人先在此谢谢大家了。希望在时间充裕的时候和大家探讨更深入的问题。

(编辑:IT资讯之家 www.it55.com

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]