mask

by Scmiz
♥0 | Line 61 | Modified 2011-04-14 22:28:48 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.AVM1Movie;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Shape;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var _rad:Number;
        private var _circle:Sprite;
        private var _frame:uint;
        
        public function FlashTest() {
            _rad = 0.0;
            _circle = new Sprite();            
            _frame = 0;
            this.addEventListener(Event.ENTER_FRAME, proc);
        }
        
        private function proc(e:Event):void {
            {
                ++_frame;
                if (_frame > 90) {
                    this.graphics.clear();
                    _frame = 0;
                }
                var r:uint = 256 * Math.random();
                var g:uint = 256 * Math.random();
                var b:uint = 256 * Math.random();
                var color:uint = (r << 16) + (g << 8) + (b << 0);
                var isHorizon:Boolean = Math.random() >= 0.5;
                var startX:Number;
                var startY:Number;
                var endX:Number;
                var endY:Number;
                if (isHorizon) {
                    startX = 0;
                    startY = Math.random() * 465;
                    endX = 465;
                    endY = Math.random() * 465;
                }
                else {
                    startX = Math.random() * 465;
                    startY = 0;
                    endX = Math.random() * 465;                
                    endY = 465;
                }
                this.graphics.lineStyle(1.0, color);
                this.graphics.moveTo(startX, startY);
                this.graphics.lineTo(endX, endY);
            }
            
            {
                _rad += (Math.PI * 2) * 0.02;
                if (_rad > Math.PI) _rad -= Math.PI;
                var radius:Number = 100 * (0.9 + (0.2 * Math.sin(_rad)));
                _circle.graphics.clear();
                _circle.graphics.beginFill(0);
                _circle.graphics.drawCircle(this.mouseX, this.mouseY, radius);
                _circle.graphics.endFill();
                this.mask = _circle;
            }
        }

    }
}