flash on 2010-3-7

by 084
♥0 | Line 43 | Modified 2010-03-07 18:02:42 | MIT License
play

ActionScript3 source code

/**
 * Copyright 084 ( http://wonderfl.net/user/084 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/sJmR
 */

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.DropShadowFilter;
	public class AmimatedFilters extends Sprite {
		private var filter:DropShadowFilter;
		private var sprite:Sprite;
		private var sprite2:Sprite;
		private var radius:Number = 100;
		private var speed:Number = .04;
		private var angle:Number = 0;
		//private var centerX:Number = mouseX;
		//private var centerY:Number = mouseY;
		
		public function AmimatedFilters() {
			init();
		}
		
		private function init():void {
			sprite = new Sprite();
			//sprite.graphics.lineStyle(0);
			sprite.graphics.beginFill(0x0088ff);
			sprite.graphics.drawCircle( 0, 0, 20);
			sprite.graphics.endFill();
			sprite2 = new Sprite();
			//sprite2.graphics.lineStyle(0);
			sprite2.graphics.beginFill(0xff7700);
			sprite2.graphics.drawCircle( 0, 0, 30);
			sprite2.graphics.endFill();
			//sprite.x = 200;
			//sprite.y = 200;
			addChild(sprite);
			addChild(sprite2);
			
			filter = new DropShadowFilter(15, 45, 0x000000, 0.8, 16, 16, 1, 3, false, false, false);
			filter.inner = true;
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
		private function onEnterFrame(event:Event):void {
			var dx:Number = sprite2.x - sprite.x;
			var dy:Number = sprite2.y - sprite.y;
			
			filter.distance = Math.sqrt(dx * dx + dy * dy) / 10;
			filter.angle = Math.atan2(dy, dx) * 180 / Math.PI;
			sprite.filters = [filter];
			
			sprite.x = sprite2.x + Math.sin(angle) * radius;
			sprite.y = sprite2.y + Math.cos(angle) * radius;
			angle += speed;
			
			sprite2.x = stage.stageWidth/2;
		    sprite2.y = stage.stageHeight/2;
		}
	}
}