Flash / Flex / ActionScript/Animation/Springs

Материал из Web эксперт
Перейти к: навигация, поиск

Springs Animation

   <source lang="java">

package {

   import flash.display.Sprite;
   import flash.events.Event;
   
   public class Main extends Sprite {
       private var _sprite:Sprite= new Sprite(  );
       private var _vx:Number = 20;
       private var _vy:Number = 0;
       private var _k:Number = .1;
       private var _damp:Number = .94;
       private var _targetX:Number = 200;
       private var _targetY:Number = 200;
       
       public function Main(  ) {
           _sprite.graphics.beginFill(0x0000ff, 100);
           _sprite.graphics.drawCircle(0, 0, 5);
           _sprite.x = 0;
           _sprite.y = 0;
           addChild(_sprite);
           addEventListener(Event.ENTER_FRAME, onEnterFrame);
       }
       
       public function onEnterFrame(event:Event):void {
           var ax:Number = (_targetX - _sprite.x) * _k;
           var ay:Number = (_targetY - _sprite.y) * _k;
           _vx += ax;
           _vy += ay;
           _sprite.x += _vx;
           _sprite.y += _vy;
           _vx *= _damp;
           _vy *= _damp;
       }
   }    

}

       </source>
   
  


Using Trigonometry

   <source lang="java">

package {

   import flash.display.Sprite;
   import flash.events.Event;
   
   public class Main extends Sprite {
       private var _sprite:Sprite;
       private var _angle:Number = 45;
       private var _radius:Number = 200;
       
       public function Main(  ) {
           _sprite = new Sprite(  );
           _sprite.graphics.beginFill(0x0000ff, 100);
           _sprite.graphics.drawCircle(0, 0, 5);
           _sprite.graphics.endFill(  );
           _sprite.x = 0;
           _sprite.y = 100;
           addChild(_sprite);
           addEventListener(Event.ENTER_FRAME, onEnterFrame);
       }
       
       public function onEnterFrame(event:Event):void {
           _sprite.x = 200 + Math.sin(_angle) * _radius;
           _angle += .05;
       }
   }    

}

       </source>