Papervision3Dメモ #4

使い方がさっぱり解らなくて保留にしてたオブジェクトクラス「Stars.as」を試してみた。けど未だによくわかんねぇ。基礎をすっ飛ばしてきたツケがぼちぼち重くのし掛かってきた今日この頃。このクラス使ったサンプルソースってどっかに無いのかなぁ(他力本願)
obj_Stars.swf(要:FlashPlayer9)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 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 obj_Stars extends Sprite { // _______________________________________________________________________ // vars3D private var container : Sprite; private var scene : Scene3D; private var camera : Camera3D; private var starObj : DisplayObject3D; private var valx : Number = 0; private var valy : Number = 0; // _______________________________________________________________________ // Constructor public function obj_Stars():void { stage.frameRate = 60; stage.quality = "MEDIUM"; stage.scaleMode = "noScale"; stage.align = StageAlign.TOP_LEFT; this.addEventListener(Event.ENTER_FRAME, loop3D); this.stage.addEventListener(Event.RESIZE, onStageResize); init3D(); } // _______________________________________________________________________ // Init3D private function init3D():void { //コンテナ生成 this.container = new Sprite(); addChild(this.container); this.container.x = this.stage.stageWidth / 2; this.container.y = this.stage.stageHeight / 2; //シーン生成 scene = new Scene3D( container ); //カメラ設定 camera = new Camera3D(); camera.z = 0; camera.focus = 500; camera.zoom = 1; //Starsオブジェクト生成 starObj = scene.addChild( new Stars( new ColorMaterial(0xffffff), container ) ); } // _______________________________________________________________________ // Loop private function loop3D( event:Event ):void { //マウス座標でカメラ移動 valx += this.container.mouseX / 50; valy += this.container.mouseY / 50; starObj.rotationY = valx; starObj.rotationX = valy; //レンダリング this.scene.renderCamera( camera ); } // _______________________________________________________________________ // onStageResize private function onStageResize(event:Event):void { this.container.x = this.stage.stageWidth / 2; this.container.y = this.stage.stageHeight / 2; } } } |
Trackback URL : http://blog.r3c7.net/as3-software-rendering/61/trackback/

