forked from: Matrix3D.interpolateTo

by dizgid forked from Matrix3D.interpolateTo (diff: 8)
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/geom/Matrix3D.html#interpolate()
♥0 | Line 34 | Modified 2010-06-14 12:11:52 | MIT License
play

ActionScript3 source code

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

// forked from dizgid's Matrix3D.interpolateTo
/**
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/geom/Matrix3D.html#interpolate()
*/
package {
    import flash.display.MovieClip;
    import flash.display.Shape;
    import flash.display.Graphics;
    import flash.geom.*;
    import flash.events.Event;

    public class InterpolateToExample extends MovieClip {
        private var ellipse1:Shape = new Shape();
        private var ellipse2:Shape = new Shape();

        public function InterpolateToExample():void {

            ellipse1 = myEllipses(250, 100, 500, 0xFF0000);
            addChild(ellipse1);
            
            ellipse2 = myEllipses(250, 100, 0, 0x00FF00);
            addChild(ellipse2);

            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
        }

        private function myEllipses(x:Number, y:Number, z:Number, c:Number):Shape {
            var s:Shape = new Shape();                            
            s.x = x;
            s.y = y;
            s.z = z;
            s.graphics.beginFill(c);
            s.graphics.lineStyle(2);
            s.graphics.drawCircle(100,0, 30);
            s.graphics.endFill();
            return s;
        }

        private function enterFrameHandler(e:Event):void {
            ellipse1.rotationY += 1;
            //ellipse1.scaleX += 0.1;

            var mtx3d:Matrix3D = Matrix3D.interpolate(ellipse2.transform.matrix3D, ellipse1.transform.matrix3D, 0.1);
            ellipse2.transform.matrix3D = mtx3d;
            
            //ellipse2.transform.matrix3D.interpolateTo(ellipse1.transform.matrix3D, 0.1);
        }
    }
}

Forked