GlobalLocal

by fakestar0826 forked from LoacalGlobal (diff: 6)
♥2 | Line 39 | Modified 2011-01-16 16:45:37 | 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/ooiC
 */

// forked from fakestar0826's LoacalGlobal
package {
    import flash.geom.Vector3D;
    import flash.geom.Point;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite 
    {
        private var _sprite:Sprite;
        private var _tracker:Sprite;
        private var _angle:Number = 0;
        
        public function FlashTest() 
        {
            // write as3 code here..
            
            _sprite = new Sprite();
            _sprite.graphics.lineStyle(5);
            _sprite.graphics.drawRect(-100, -100, 200, 200);
            _sprite.x = 200;
            _sprite.y = 200;
            addChild(_sprite);
            
            _tracker = new Sprite();
            _tracker.graphics.lineStyle(2, 0xFF0000);
            _tracker.graphics.drawCircle(0, 0, 20);
            _sprite.addChild(_tracker);
            
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }
        
        private function onEnterFrame(e:Event):void
        {
            _sprite.rotationX +=1;
            _sprite.rotationY += 1.2;
            _sprite.rotationZ += 0.5;
            _sprite.x = 200 + Math.cos(_angle) * 100;
            _sprite.y = 200 + Math.sin(_angle) * 100;
            _sprite.z = 100 + Math.cos(_angle + 0.8) * 400;
            _angle += 0.05;
            var p:Vector3D = _sprite.globalToLocal3D(new Point(mouseX, mouseY));
            _tracker.x = p.x;
            _tracker.y = p.y;
        }

    }
}