sandy.core.Scene3D
sandy.core.scenegraph.Camera3D
sandy.core.scenegraph.Group
sandy.primitive.Box
- package
- {
- import flash.display.Sprite;
- import flash.events.Event;
- import sandy.core.Scene3D;
- import sandy.core.scenegraph.Camera3D;
- import sandy.core.scenegraph.Group;
- import sandy.primitive.Box;
- public class Example001 extends Sprite
- {
- // 宣告3D場景及攝影機
- private var scene:Scene3D;
- private var camera:Camera3D;
- public function Example001()
- {
- // camera 是 使用者觀看3D場景的鏡頭
- // 攝影鏡頭也可以設在3D場景之內
- // 在此,我們將它設定與舞台大小相同
- camera = new Camera3D(300, 300);
- // 設定camera 的 z 座標
- camera.z = -400;
- // 為場景內的所有物件產生一根群組
- var root:Group = createScene();
- // 產生3D場景,並設定此場景的Unique名稱、
- // 要在哪一個Container中被繪出、
- // 並將場景的攝影機,及所有要置放於此場景的
- // 群組放到場景內
- scene = new Scene3D("scene", this, camera, root);
- // 設置一事件監聽器,當此場景一進入舞台
- // 便開始繪製
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- }
- private function createScene():Group
- {
- // 宣告一Group物件,此Group將放罝所有
- // 我們要放置在場景內的物件
- // 並當 function call的回傳值
- var g:Group = new Group();
- // 產生一3D立方體, 並設定其Unique名稱
- // 及長、寬、高
- var box:Box = new Box("box", 100, 100, 100);
- // 將此立方體隨X、Y軸,旋轉30度
- box.rotateX = 30;
- box.rotateY = 30;
- // 將立方體加入舞台顯示群組中
- g.addChild(box);
- return g;
- }
- private function enterFrameHandler(evt:Event):void
- {
- scene.render();
- }
- }
- }
產出:
程式碼出處:http://www.flashsandy.org/tutorials/3.0/sandy_cs3_tut01
沒有留言:
張貼留言