package { import flash.display.*; import flash.events.*; import org.papervision3d.scenes.*; import org.papervision3d.objects.*; import org.papervision3d.cameras.*; import org.papervision3d.materials.*; [SWF(backgroundColor=0x000000)] public class MyPlane extends Sprite { private var container : Sprite; private var scene : Scene3D; private var camera : Camera3D; private var rootNode : DisplayObject3D; private var planeObj : DisplayObject3D; private var planeSize : int = 300;//Planeオブジェクト1辺の長さ private var segment : int = 1; //面の分割数 private var material : ColorMaterial; private var valx : Number = 0; private var valy : Number = 0; //---------------------------------------------Constructor public function MyPlane():void { stage.frameRate = 60; stage.quality = "MEDIUM"; stage.scaleMode = "noScale"; stage.align = StageAlign.TOP_LEFT; //コンテナ生成 container = new Sprite(); container.x = 200; container.y = 200; stage.addChild( container ); //シーン生成 scene = new Scene3D( container ); //rootNode生成 rootNode = new DisplayObject3D(); scene.addChild( rootNode ); //マテリアル設定 material = new ColorMaterial( 0xffffff, 1 ); material.oneSide = false; //Planeオブジェクト生成 planeObj = new Plane( material, planeSize, planeSize, segment, segment ); rootNode.addChild( planeObj ); //camera設定 camera = new Camera3D(); camera.z = -planeSize; camera.focus = 50; camera.zoom = 1; stage.addEventListener(Event.ENTER_FRAME, loop); } //---------------------------------------------loop private function loop( event:Event ):void { // Y軸回転 planeObj.rotationY += 5; //再レンダリング scene.renderCamera( camera ); } } }