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

by test_flash forked from PV3Dその6 Flexコンポーネントを無理矢理張り付ける (diff: 1)
♥0 | Line 58 | Modified 2010-01-13 10:24:53 | MIT License
play

ActionScript3 source code

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

<?xml version="1.0" encoding="utf-8"?>
<!-- forked from sake's PV3Dその6 Flexコンポーネントを無理矢理張り付ける -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#000000, #000000]">
	<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 container:Sprite;
			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
			{
				container=new Sprite();
				rawChildren.addChild(container);
				viewport=new Viewport3D(0, 0, true, true);
				container.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, 300, 300, 300);
				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="184" y="10" label="ボタン2"/>
		<mx:DateChooser x="38" y="50"/>
	</mx:Canvas>
	<mx:Canvas x="0" y="0" width="350" height="350" backgroundColor="#000000"/>
</mx:Application>