Flash / Flex / ActionScript/Animation/Oscillation
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>