flash on 2013-2-18

by ohisama
http://zarchives.web.fc2.com
♥0 | Line 71 | Modified 2013-02-18 15:59:16 | MIT License
play

ActionScript3 source code

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

//http://zarchives.web.fc2.com
package  
{
    import org.papervision3d.view.BasicView;
    import org.papervision3d.objects.primitives.Sphere;
    import org.papervision3d.materials.MovieMaterial;
    import org.papervision3d.materials.MovieAssetMaterial;
    import org.papervision3d.core.animation.clip.AnimationClip3D;
    import flash.display.MovieClip;
    import flash.geom.Rectangle;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import org.papervision3d.core.animation.channel.Channel3D;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.core.animation.channel.Channel3D;
    import org.papervision3d.core.animation.channel.transform.MatrixChannel3D;
    import org.papervision3d.core.animation.curve.Curve3D;
    import org.papervision3d.core.animation.key.LinearCurveKey3D;
    import org.papervision3d.core.animation.channel.transform.TranslationChannel3D;
    public class test_transform extends BasicView
    {
        public function test_transform() 
        {
            var material : ColorMaterial = new ColorMaterial();
            var obj : test_transform_object = new test_transform_object(material, 100, 150, 24, 4);
            var chTr : TranslationChannel3D = new TranslationChannel3D(null);
            var cvTrX : Curve3D = new Curve3D();
            var cvTrY : Curve3D = new Curve3D();
            var cvTrZ : Curve3D = new Curve3D();
            cvTrX.addKey(new LinearCurveKey3D(0, -50));
            cvTrX.addKey(new LinearCurveKey3D(1, 50));
            cvTrX.addKey(new LinearCurveKey3D(2, -50));
            cvTrY.addKey(new LinearCurveKey3D(0, 0));
            cvTrY.addKey(new LinearCurveKey3D(0.5, 50));
            cvTrY.addKey(new LinearCurveKey3D(1, 0));
            cvTrZ.addKey(new LinearCurveKey3D(0, 0));
            chTr.addCurve(cvTrX);
            chTr.addCurve(cvTrY);
            chTr.addCurve(cvTrZ);
            obj.animation.addChannel(chTr);
            scene.addChild(obj);
            camera.x = 0;
            camera.y = 200;
            camera.z = -300;
            startRendering();
            obj.animation.play();
        }
    }
}

    import org.papervision3d.objects.primitives.Cone;
    import org.papervision3d.core.proto.MaterialObject3D;
    import org.papervision3d.core.controller.AnimationController;
    import org.papervision3d.core.animation.channel.transform.TranslationChannel3D;
    import org.papervision3d.objects.DisplayObject3D;
    import org.papervision3d.core.render.data.RenderSessionData;
    import org.papervision3d.core.math.Matrix3D;
    class test_transform_object extends Cone
    {
        public var animation : AnimationController = new AnimationController();
        public function test_transform_object(material : MaterialObject3D = null, radius : Number = 100, height : Number = 100, segmentsW : int = 8, segmentsH : Number = 6) 
        {
            super(material, radius, height, segmentsW, segmentsH);
        }
        public override function project(parent : DisplayObject3D, renderSessionData : RenderSessionData) : Number
        {
            animation.update();
            this.transform = TranslationChannel3D(animation.channels[0]).transform;
            return super.project(parent, renderSessionData);
        }
    }

Forked