NoImage

この記事は半年以上前の情報なので、古い可能性があります

PV3Dサンプルソース(キーボードでぐりぐり回転)

2008年02月14日  投稿者:ハセガワ
キーボードでぐりぐり回転するCube、MCのマテリアル付き
ブックマークする:

//1フレーム目に記述
//ライブラリにリンケージid「mc0~mc5」のmcが入ってます

import flash.display.*;
import flash.events.*;

import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.view.*;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.MaterialsList; import caurina.transitions.*;


stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.quality = StageQuality.BEST;

init3D();


function init3D():void { //初期化
 var viewport:Viewport3D = new Viewport3D(500,500,true,true);
 addChild( viewport);

 var renderer:BasicRenderEngine = new BasicRenderEngine();

 var camera:Camera3D = new Camera3D();
 camera.x = 0;
 camera.y = 0;
 camera.z = 300;
 camera.focus = 500;

 var scene = new Scene3D();

 var mat:MaterialsList = new MaterialsList({
   front:new MovieAssetMaterial( "mc0", true,true,true ,true),
   back:new MovieAssetMaterial( "mc1", true,true,true,true ),
   right:new MovieAssetMaterial( "mc2", true,true,true,true ),
   left:new MovieAssetMaterial( "mc3", true,true,true,true ),
   top:new MovieAssetMaterial( "mc4", true,true,true,true ),
   bottom:new MovieAssetMaterial( "mc5", true,true,true,true )
   });
 var matCube = new Cube(mat,100,100,100);

 scene.addChild( matCube );
 
 stage.addEventListener(KeyboardEvent.KEY_DOWN,key_mov);
 stage.addEventListener(Event.ENTER_FRAME,handler);
 
 function handler(event:Event):void{
 renderer.renderScene( scene,camera,viewport);
 }
 

function key_mov(event:KeyboardEvent):void{ //キーボードイベント関数
  var distance:uint = 50;
  switch (event.keyCode) {
   case Keyboard.RIGHT:
    Tweener.addTween(matCube, {x:-80,rotationY:"45",scale:1,time:2.0,transition:"easeOutElastic"});
    break;
    case Keyboard.LEFT:
    Tweener.addTween(matCube, {x:80,rotationY:"-45",scale:1,time:2.0,transition:"easeOutElastic"});
    break;
    case Keyboard.UP:
    Tweener.addTween(matCube, {y:80,rotationX:"-90",scale:1,time:2.0,transition:"easeOutElastic"});
    break;
    case Keyboard.DOWN:
    Tweener.addTween(matCube, {y:-80,rotationX:"90",scale:1,time:2.0,transition:"easeOutElastic"});
    break;
   }
  }
  
}
僕が買った、もしくは買う予定の参考書
参考書は指定されていません
ブックマークする
FlaTech+を購読する
  • 全記事を含むRSSfeed
  • このページをブックマーク: