flash on 2010-3-7
♥0 |
Line 43 |
Modified 2010-03-07 18:02:42 |
MIT License
archived:2017-03-20 00:41:24
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;
}
}
}