FLASHチーム
FIVe3Dを触ってみました1
こんにちは、マキタです。
Flashの3DではPapervision3Dが広まっている中、ちょっと趣向を変えてFIVe3Dを
触ってみました。
FIVe3Dは2Dグラフィックの感覚で扱えるActionScriptのライブラリ集です。
drawRectで描いたグラフィックに対して3D的な扱いが可能になります。
早速公式サイトにてサンプルをダウンロードして編集してみました。
five3d001.swf
今回は主に以下のクラスを使って処理しています。
1.3Dを展開する場を用意する:Scene3Dクラス
2.四角、円などの簡単なオブジェクトを作成する:Sprite3Dクラス
3.少し複雑なオブジェクトを作成する:Shape3Dクラス
4.テキストを作成し、3Dで扱う:DynamicText3Dクラス
5.3D処理
1.Scene3Dクラス
var scene:Scene3D = new Scene3D();
scene.x = 300;
scene.y = 200;
addChild(scene);
3Dを展開する場(シーン)を作ります。
今後作成するオブジェクトを追加していきます。
また、これを配置した座標が3Dシーンの基準座標になります。
2.Sprite3Dクラス
四角、円などの簡単なオブジェクトを作成します。
var obName:Sprite3D = new Sprite3D();
obName.graphics3D.beginFill(0x000000);
obName.graphics3D.drawRect(0, 0, 50, 200);
obName.graphics3D.endFill();
scene.addChild(obName);
ActionScript3.0のdrawRectが使えるので、図形を作成します。
単純に四角1つだけということはないので、図形を複数重ねて
アルファベットの「E」であるとか、線を繋いで数字を作成も可能です。
3.Shape3Dクラス
少し複雑なオブジェクトを作成します。
サンプルにもありますが、星などの複雑な図形を作るには
ActionScript2.0ではなかなか手間がかかっていたりしていました。
FIVe3Dにはutils内にDrawingクラスがあって、そこに星を描画する
メソッドがあります。
今回はその機能にあやかりまして、作ることにします。
var star:Shape3D = new Shape3D();
Drawing.star(star.graphics3D, 20, 40, 30, 0, 0xD7006C);
sign.addChild(star);
4.DynamicText3Dクラス
3Dで扱うテキストを作成します。
var sText:DynamicText3D = new DynamicText3D(HelveticaBold);
sText.size = 30;
sText.color = 0x000000;
sText.text = "Hello!";
sText.x = 0;
sText.y = 0;
sign.addChild(sText);
文字を作成する際に使用するフォントのクラスを指定します。
今回は「HelveticaBold」を使用します。
var sText:DynamicText3D = new DynamicText3D(HelveticaBold);
またDynamicText3Dクラスのプロパティには下記の指定が可能です。
・色
・サイズ
・letterspacing
・文字幅
5.3D処理
全てのオブジェクトが作成できたら、目的のオブジェクトに
3D処理を追加します。
例えば星を回転させるのであれば星オブジェクトにaddEventListenerで
Event.ENTER_FRAMEをイベントとして作成します
private function starEnterFrameHandler(event:Event):void {
event.target.rotationZ++;
}
イベント発生時には該当オブジェクトの回転プロパティ(rotationZ)に
数値を加えて動かします。
他にも面白い機能はたくさんありそうなので、これをきっかけに
FIVe3Dにチャレンジしてみるのも良いではないでしょうか。
トラックバック(0)
このブログ記事を参照しているブログ一覧: FIVe3Dを触ってみました1
このブログ記事に対するトラックバックURL: http://blog.creativehope.co.jp/mt/mt-tb.cgi/66