forked from: 四角が動くだけ

by imo_ forked from 四角が動くだけ (diff: 62)
♥0 | Line 70 | Modified 2012-12-03 17:13:27 | MIT License
play

ActionScript3 source code

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

// forked from ProjectNya's 四角が動くだけ
package {
    import flash.events.Event;
    import flash.display.Sprite;
    [SWF(frameRate = "65535")]
    public class FlashTest extends Sprite {
        private var rect:Sprite;
        private var px:Number;
        private var py:Number;
        private var vx:Number;
        private var vy:Number;
        
        public function FlashTest() {
            init();
        }
        
        private function init():void {
            var bg:Sprite = new Sprite();
            bg.graphics.beginFill(0x101010);
            bg.graphics.drawRect(0, 0, 465, 465);
            bg.graphics.endFill();
            addChild(bg);
            rect = new Sprite();
            rect.graphics.beginFill(0xffffff);
            rect.graphics.drawRect(-48, -48, 96, 96);
            rect.graphics.endFill();
            addChild(rect);
            px = 256;
            py = 256;
            var ang:Number = Math.random() * 2 * Math.PI;
            vx = Math.cos(ang) * 96;
            vy = Math.sin(ang) * 96;
            addEventListener(Event.ENTER_FRAME, frame);
        }
        
        private function frame(e:Event):void {
            rect.rotationZ = (rect.rotationZ + Math.random() * 60) % 360;
            rect.x = px;
            rect.y = py;
            px += vx;
            py += vy;
            var ang:Number;
            if (px < 0) {
                px = 0;
                ang = Math.random() * 2 * Math.PI;
                vx = Math.cos(ang) * 128;
                vy = Math.sin(ang) * 128;
                if(vx < 0) vx = -vx;
            }
            if (py < 0) {
                py = 0;
                vy = -vy;
                ang = Math.random() * 2 * Math.PI;
                vx = Math.cos(ang) * 128;
                vy = Math.sin(ang) * 128;
                if(vy < 0) vy = -vy;
            }
            if (px > 465) {
                px = 465;
                ang = Math.random() * 2 * Math.PI;
                vx = Math.cos(ang) * 128;
                vy = Math.sin(ang) * 128;
                if(vx > 0) vx = -vx;
            }
            if (py > 465) {
                py = 465;
                ang = Math.random() * 2 * Math.PI;
                vx = Math.cos(ang) * 128;
                vy = Math.sin(ang) * 128;
                if(vy > 0) vy = -vy;
            }

        }
        
    }
    
}