您的位置:首页 > 编程语言

代码实现鼠标跟随简单动画

2011-08-09 13:25 871 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fiice/article/details/6672185  1、  匀速移动:位移=速度*时间
package 
{
       import flash.display.Sprite;
       import flash.events.Event;
       import flash.utils.Timer;
       import flash.events.TimerEvent;
       import flash.text.TextField;
       
       public class Main extends Sprite 
       {
              public var dongTimer:Timer= new Timer(30);     
              public var first:TextField=new TextField();
              public function Main():void 
              {
                     dongTimer.addEventListener(TimerEvent.TIMER, yidong);
                     first.text = "FL部落";
                     first.textColor = 0x000000;
                     addChild(first);
                     first.x = 50;
                     first.y = 250;
                     dongTimer.start();  ;                    
              }            
              private function yidong(e:TimerEvent):void {
                     first.x += 10;
              }
       }
       
}
2、  到指定点的减速运动:位移=(终点-当前点)* 缓动比
package 
{
       import flash.display.Sprite;
       import flash.events.Event;
       import flash.utils.Timer;
       import flash.events.TimerEvent;
       import flash.text.TextField;
       
       public class Main extends Sprite 
       {
              public var dongTimer:Timer= new Timer(30);
              public var huanDu:Number = 0.1;
              public var stopPoint:Number = 500;
              public var first:TextField=new TextField();
              public function Main():void 
              {
                     dongTimer.addEventListener(TimerEvent.TIMER, yidong);
                     first.text = "FL部落";
                     first.textColor = 0x000000;
                     addChild(first);
                     first.x = 50;
                     first.y = 250;
                     dongTimer.start();
              }            
              private function yidong(e:TimerEvent):void {
                     first.x += (stopPoint - first.x) * huanDu;
              }
       }
       
}
3、鼠标跟随:位移=(鼠标位置-当前坐标)*缓动系数
package 
{
       import flash.display.Sprite;
       import flash.events.Event;
       import flash.utils.Timer;
       import flash.events.TimerEvent;
       import flash.text.TextField;
       
       public class Main extends Sprite 
       {
              public var dongTimer:Timer= new Timer(30);
              public var huanDu:Number = 0.1; 
              public var first:TextField=new TextField();
              public function Main():void 
              {
                     dongTimer.addEventListener(TimerEvent.TIMER, yidong);
                     first.text = "FL部落";
                     first.textColor = 0xFF0000;
                     addChild(first);
                     first.x = 50;
                     first.y = 250;                
                     dongTimer.start();                
              }            
              
              private function yidong(e:TimerEvent):void {
                     first.x += (mouseX-first.x) * huanDu;
                     first.y += (mouseY-first.y) * huanDu;                 
              }
       }
       
}

4、根据鼠标位置围绕一个点移动:
鼠标方向:位移=((鼠标位置-中心点坐标)*范围系数-(当前坐标-中心点坐标) )*缓动系数
鼠标反方向:位移=((当前坐标-中心点坐标)-(鼠标位置-中心点坐标)*范围系数)*缓动系数

package 
{
       import flash.display.Sprite;
       import flash.events.Event;
       import flash.utils.Timer;
       import flash.events.TimerEvent;
       import flash.text.TextField;
       
       public class Main extends Sprite 
       {
              public var dongTimer:Timer= new Timer(30);
              public var huanDu:Number = 0.1;
              public var fanWei:Number = 0.4;
              public var fanWei2:Number = 0.2;
              public var stopPoint_x:Number = 350;
              public var stopPoint_y:Number = 300;
              public var first:TextField=new TextField();
              public var last:TextField=new TextField();
              public function Main():void 
              {
                     dongTimer.addEventListener(TimerEvent.TIMER, yidong);
                     first.text = "FL部落";
                     first.textColor = 0xFF0000;
                     addChild(first);
                     first.x = 50;
                     first.y = 250;
                     last.text = "FL部落";
                     last.textColor = 0x999999;
                     addChild(last);
                     last.x = 800;
                     last.y = 100;
                     
                     dongTimer.start();
                     
              }            
              
              private function yidong(e:TimerEvent):void {
                     first.x += ((mouseX - stopPoint_x) * fanWei -(first.x - stopPoint_x)) * huanDu;
                     first.y += ((mouseY - stopPoint_y) * fanWei - (first.y - stopPoint_y)) * huanDu;
                     last.x -= ((mouseX - stopPoint_x) * fanWei2 + (last.x - stopPoint_x)) * huanDu;
                     last.y -= ((mouseY -  stopPoint_y) * fanWei2 + (last.y -  stopPoint_y)) * huanDu;
              }
       }
       
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: