Web Issue(ウェブ イシュー)は、クリエイティブホープの社員が日々の業務で感じた事や培った技術、Web構築のノウハウなどを発信するBlog(ブログ)です。

ページ内を移動するためのリンクです。

Web Issue クリエイティブホープの社員ブログ

Web Issue(ウェブ イシュー)はクリエイティブホープの社員が「Webのプロ」としての視点で語るブログです。Webに関する知識や技術など実務に役立つノウハウから、日々感じている素朴な疑問まで、様々な情報を発信していきます。

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にチャレンジしてみるのも良いではないでしょうか。

2008年10月 3日 20:01 | トラックバック(0)
カテゴリ:FLASHチーム

トラックバック(0)

このブログ記事を参照しているブログ一覧: FIVe3Dを触ってみました1
このブログ記事に対するトラックバックURL: http://blog.creativehope.co.jp/mt/mt-tb.cgi/66