forked from: flash on 2011-4-6

by fakestar0826 forked from flash on 2011-4-6 (diff: 75)
♥0 | Line 64 | Modified 2011-04-08 01:13:41 | MIT License
play

ActionScript3 source code

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

// forked from fakestar0826's flash on 2011-4-6
package {
    import flash.geom.Vector3D;
    import flash.geom.Matrix3D;
    import flash.ui.Keyboard;
    import flash.events.KeyboardEvent;
    import flash.geom.Matrix;
    import flash.utils.Proxy;
    import flash.geom.Point;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var rect:Rect;
        private var nR:Number = 10;
        private var nSup:Number = 1.05;
        private var nSdown:Number = 0.95;
        
        private var matrix3D:Matrix3D;
        
        public function FlashTest() {
            // write as3 code here..
            rect = new Rect(100, 100);
            rect.x = 200; rect.y = 200; rect.z = 0;
            addChild(rect);
            matrix3D = rect.transform.matrix3D;
            
            stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
        }
        
        private function onKeyDown(e:KeyboardEvent):void
        {
            switch(e.keyCode)
            {
                case Keyboard.LEFT:
                    //matrix3D.appendTranslation(-rect.width / 2, 0, 0);
                    matrix3D.prependRotation(nR, Vector3D.Y_AXIS);
                    //matrix3D.appendTranslation(rect.width / 2, 0, 0);
                    break;
                case Keyboard.RIGHT:
                    //matrix3D.appendTranslation(-rect.width / 2, 0, 0);
                    matrix3D.prependRotation(-nR, Vector3D.Y_AXIS);
                    //matrix3D.appendTranslation(rect.width / 2, 0, 0);
                    break;
                case Keyboard.UP:
                    matrix3D.prependScale(nSup, nSup, 1);
                    break;
                case Keyboard.DOWN:
                    matrix3D.prependScale(nSdown, nSdown, 1);
                    break;
                
            }

        }


    }
}
import flash.display.Sprite;

class Rect extends Sprite
{
    public function Rect(w:int = 50, h:int = 50, c:uint = 0xFF0000)
    {
        this.graphics.beginFill(c);
        this.graphics.drawRect(-w / 2, -h / 2, w, h);
        this.graphics.endFill();
    }

}

class Circle extends Sprite
{
    public function Circle(r:int = 10, c:uint = 0x00FF00)
    {
        this.buttonMode = true;
        this.graphics.beginFill(c);
        this.graphics.drawCircle(0, 0, r);
        this.graphics.endFill();
    }

}

Forked