shadow distance

by majoraze
♥0 | Line 31 | Modified 2010-11-22 00:23:01 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.filters.DropShadowFilter;
    
    public class DropShadowDistanceTest extends Sprite {
        
        private var filter:DropShadowFilter;
        private var sprite:Sprite;
        
        public function DropShadowDistanceTest() {
            init();
        }
        
        private function init():void {
            sprite = new Sprite();
            sprite.graphics.lineStyle(2);
            sprite.graphics.beginFill(0xff0000);
            sprite.graphics.drawRect(-50,-50,100,100);
            sprite.graphics.endFill();
            sprite.x = stage.stageWidth/2;
            sprite.y = stage.stageHeight/2;
            addChild(sprite);
            
            filter = new DropShadowFilter(0,0,0,1,10,10,.3);
            
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }
        
        private function onEnterFrame(e:Event):void {
            var dx:Number = mouseX - sprite.x;
            var dy:Number = mouseY - sprite.y;
            
            filter.distance = -Math.sqrt(dx*dx + dy*dy)/10;
            filter.angle = Math.atan2(dy,dx) * 180/Math.PI;
            sprite.filters = [filter];
        }


    }
}