PV3Dその6 Flexコンポーネントを無理矢理張り付ける

by sakef
♥19 | Line 54 | Modified 2010-10-09 09:38:54 | MIT License
play

ActionScript3 source code

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

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" backgroundColor="0x000000">
    <mx:Script>
        <![CDATA[
            import org.papervision3d.events.InteractiveScene3DEvent;
            import org.papervision3d.objects.primitives.Cylinder;
            import org.papervision3d.materials.MovieMaterial;
            import org.papervision3d.materials.utils.MaterialsList;
            import org.papervision3d.materials.ColorMaterial;
            import org.papervision3d.objects.primitives.Cube;
            import org.papervision3d.objects.DisplayObject3D;
            import org.papervision3d.render.BasicRenderEngine;
            import org.papervision3d.cameras.Camera3D;
            import org.papervision3d.scenes.Scene3D;
            import org.papervision3d.view.Viewport3D;
            
            private var viewport:Viewport3D;
            private var scene:Scene3D;
            private var camera:Camera3D;
            private var renderer:BasicRenderEngine;
            private var rootNode:DisplayObject3D;
            private var cube:Cube;
            
            public function init():void
            {
                viewport=new Viewport3D(0, 0, true, true);
                rawChildren.addChild(viewport);
                scene=new Scene3D();
                camera=new Camera3D();
                renderer=new BasicRenderEngine();
                camera.zoom=30;
                camera.focus=20;
                camera.target=DisplayObject3D.ZERO;
                rootNode=scene.addChild(new DisplayObject3D("rootNode"));
                
                var mat:MovieMaterial=new MovieMaterial(myCanvas, true, true, true);
                mat.interactive=true;
                var matlist:MaterialsList=new MaterialsList({all:mat});
                cube=new Cube(matlist, 340, 340, 340);
                rootNode.addChild(cube, "cube");
                
                addEventListener(Event.ENTER_FRAME, onFrame);
            }
            
            public function onFrame(e:Event):void
            {
                cube.rotationY+=0.5;
                cube.rotationX+=0.5;
                renderer.renderScene(scene, camera, viewport);
            }
        ]]>
    </mx:Script>
    <mx:Canvas width="250" height="250" id="myCanvas" backgroundColor="#FFFFFF">
        <mx:Button x="10" y="10" label="ボタン1"/>
        <mx:Button x="160" y="10" label="ボタン2"/>
        <mx:DateChooser x="34" y="45"/>
    </mx:Canvas>
    <mx:Canvas x="0" y="0" width="350" height="350" backgroundColor="#000000"/>
</mx:Application>

Forked