FDTテンプレート作りました。
Posted:{ 2010.04.04 03:18:38 }
(追記※FDT4 M2でも読み込めるよう修正しました。詳細)
–index—————————————-
【1】Papervision3Dテンプレート
(1)BasicVeiw クラスを使用したシンプルなテンプレート
(2)DAEモデルをさくっと表示確認するテンプレート
【2】「Public/Private/Protected」の「 ver」と「function 」
——————————————
【1】Papervision3Dテンプレート
下記(1)(2)をセットにしたものです。
(1)Papervision3DのBasicVeiw クラスを使用したシンプルなテンプレート。
さくっと3Dオブジェクトを表示したい時に。
BasicVeiwを使うことで、cameraとかviewportなどの基本定義を宣言せずに、シンプルに記述できるテンプレート。
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 | //pv3d_BasicView /** * ${enclosing_type} * BasicViewクラスを使用したシンプルなテンプレート。 */ package ${enclosing_package} { /** * @see http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/ */ import org.papervision3d.materials.*; import org.papervision3d.objects.primitives.*; import org.papervision3d.view.BasicView; import flash.events.Event; /** * @author ${user} */ public class ${enclosing_type} extends BasicView { private var model : *; public function ${enclosing_type}() { setModel();//DisplayObject3D作成 super.startRendering();//レンダリングスタート } private function setModel() : void { //ここでDisplayObject3Dを作成 //ex) //model = new Plane(new WireframeMaterial(0xcc0000)) scene.addChild(model);//シーンに追加 } //レンダリング override protected function onRenderTick(event : Event=null) : void { super.onRenderTick(); //DisplayObject3Dに対して行う操作 //ex) //model.yaw(1);//回転 } } } |
(2)DAEモデルをさくっと表示確認する。
DAEデータを確認するのに、いちいちPV3Dの基本構造を組んでいたんだけど、メンド臭いので作りましたよっ。
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 86 87 88 | //pv3d_checkDAE /** * ${enclosing_type}. * DAEモデルをさくっと表示確認するPapervision3Dテンプレート * マウスドラッグで横回転。 */ package ${enclosing_package}{ /** * @see http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/ */ import org.papervision3d.view.BasicView; import org.papervision3d.objects.parsers.DAE; import flash.events.Event; import flash.events.MouseEvent; /** * @author ${user} */ public class ${enclosing_type} extends BasicView { //********************************************************************* private var _daeURL : String= "../model/sample.DAE";//DAEモデルのパスを指定 //適宜調整 private var _cameraZ : Number= -100;//カメラZ位置 private var _cameraY : Number= 0;//カメラY位置 private var _modelScale : Number= 1;//モデルのスケール //********************************************************************* private var mouseDownX : Number; private var mouseDownY : Number; private var isDragging : Boolean= false; private var model : DAE= new DAE( ); public function ${enclosing_type}() { camera.z = -_cameraZ; camera.y = _cameraY; stage.addEventListener( MouseEvent.MOUSE_DOWN, onMouseDownHandler ); stage.addEventListener( MouseEvent.MOUSE_MOVE, onMouseMoveHandler ); stage.addEventListener( MouseEvent.MOUSE_UP, onMouseUpHandler ); setDO3D( ); super.startRendering();//レンダリングスタート } /** * DAEモデルロード */ private function setDO3D() : void { model.load( _daeURL ); model.scale = _modelScale; scene.addChild( model ); } /** * レンダリング */ override protected function onRenderTick(event : Event=null) : void { super.onRenderTick(); if (!isDragging) { model.rotationY -= 1;//回転の速さ } camera.y = (mouseY / stage.stageHeight) * 100; } /** *マウスイベント */ private function onMouseMoveHandler(e : MouseEvent) : void { var xx : Number= (mouseX - mouseDownX); if (isDragging) { model.rotationY -= xx; mouseDownX = mouseX; mouseDownY = mouseY; } } private function onMouseDownHandler(e : MouseEvent) : void { isDragging = true; mouseDownX = mouseX; mouseDownY = mouseY; } private function onMouseUpHandler(e : MouseEvent) : void { isDragging = false; } } } |
【2】「Private/Public/Protected」の「 ver」と「function 」
※こちらのサイトでも「Public/Private/Protected Functions」が公開されていたのですが、「puf ptf prf」というショートカットが個人的に使いにくかったので、普通に「public…」などと打つと候補が出てくるようにしました。
↓こんな感じ。
//private private var ${cursor}${name}; private function ${cursor}${name}(${}):${void}{ } //public public var ${cursor}${name}; public function ${cursor}${name}(${}):${void}{ } //protected protected var ${cursor}${name}; protected function ${cursor}${name}(${}):${void}{ }







