Archive for the ‘flash’ Category

FDTテンプレート作りました。

Category:{ actionscript, FDT, flash }  Tag:{, , } Comments:{ 2 Comments }
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}{
 
}

FDT.jpのテンプレートページにもアップしました。

FDTでFlashHelpを高速に表示するCapabilities設定

Category:{ actionscript, FDT, flash }  Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.03.15 05:38:52 }

[環境:FDT3/MacOS10.5]

前のエントリでFDTでFlashHelpを使用出来るよう設定しましたが、その後、
「FDT>環境設定>Capabilities」の「Disable All」を押して、チェックボックスをすべて外すと、ヘルプの検索が高速になります。

(理由は分かりません&Capabilities自体が何の設定かわかりませんが、何かを検索する機能をOFFにしているっぽい。( ´д`; )ダレカシッテタラオセーテ)

特にガシガシヘルプ使うときは外していてもいいかもしれませんね。


レンタルサーバー豆知識