Flash / Flex / ActionScript/Animation/Oscillation

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

One possible use for this example is to simulate a fly, randomly buzzing around a room.

   <source lang="java">

package {

   import flash.display.Sprite;
   import flash.events.Event;
   
   public class Main extends Sprite {
       private var _sprite:Sprite= new Sprite(  );
       
       public function Main(  ) {
           _sprite.graphics.beginFill(0xffffff, 100);
           _sprite.graphics.drawCircle(0, 0, 25);
           _sprite.graphics.beginFill(0x000000, 100);
           _sprite.graphics.drawCircle(20, 0, 5);
           _sprite.x = 100;
           _sprite.y = 100;
           addChild(_sprite);
           addEventListener(Event.ENTER_FRAME, onEnterFrame);
       }
       
       public function onEnterFrame(event:Event):void {
           var dx:Number = mouseX - _sprite.x;
           var dy:Number = mouseY - _sprite.y;
           var radians:Number = Math.atan2(dy, dx);
           _sprite.rotation = radians * 180 / Math.PI;
       }
   }    

}

       </source>
   
  


Oscillation Animation

   <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;
           _sprite.y = 200 + Math.cos(_angle) * _radius;
           _angle += .05;
       }
   }    

}

       </source>