Away3Dを触ってみた2
Etude_away3d2.swf
マウスオーバーでぐりぐり動きます。
ソースはこんな感じ
package{ include "../import.as"; import away3d.cameras.*; import away3d.objects.*; import away3d.core.material.*; import away3d.core.scene.*; import away3d.core.render.*; [SWF(width="400", height="400", backgroundColor="#ffffff", frameRate="30")] public class Etude extends View3D{ // View3Dを継承(View3DはSpriteを継承してるのでこれでいい) public function Etude(){ // 最初の画面大きさ var w:uint = stage.stageWidth; var h:uint = stage.stageHeight; stage.scaleMode = StageScaleMode.NO_SCALE; // 拡大縮小の無効 stage.align = StageAlign.TOP_LEFT; // 配置を左上に stage.addChildAt( new BgShape( w, h), 0); // 背景の追加 stage.addChild( new FPSTextField( stage)); // fps表示欄の追加 // 自分の位置の設定 x = w/2; y = h/2; // カメラ設定 camera.x = 0; camera.y = 0; camera.z = -400; camera.focus = 400; camera.zoom = 1; // ライト生成 var light:Light3D = new Light3D(); light.color = 0xcccccc; light.x = -350; light.y = 450; light.z = -350; scene.addChild(light); // cube生成 var cube:Cube = new Cube({ material:new WireframeMaterial(0x999999), y:0, x:0, height:400, width:400, depth:400 }); scene.addChild( cube); // カメラをcubeのほうへ向ける camera.lookAt( cube.position); // イベント設定 addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame( e:Event):void{ cube.rotationX = mouseX; cube.rotationY = mouseY; render(); } } } }