LITTLE CLAP ゲーム製作日記 -4ページ目

FLASHで3D表示(ワイヤーフレーム)

 FLASHで3Dデータを表示する挑戦の第1弾、ワイヤーフレーム表示です。

 マウスでドラッグすると回転します。
 操作していない間は右に回転し続けます。動きがカクカクなのは放置時の処理負荷を上げないためです。



 3Dモデリングソフト「メタセコイア 」のサンプルデータを拝借しました。
 当面このデータをまともに表示する方向で開発を進めていきます。詳しい進捗はこちら(FC2内のマイページ) で。

画面外でも途切れないマウスドラッグ

 FLASHでのマウス操作のサンプルを作成しました。

 マウスイベントで厄介なのは、マウスを押したままドラッグして枠外へ持っていかれることです。マウスイベントは枠の中でしか受け取れません。
 WindowsだとAPIのSetCaptureを呼び出すことで、明示的にドラッグ中のマウスイベントを受け取れるようになりますが、FLASHではそのあたりは自動で行われるようです。
 しかし、Internet Explorer上で再生しているときに限り、何故かドラッグ中のマウスイベントが受け取れないという現象に遭いました。
 色々テストしてみたところ、ルートに直接イベントを設定するのではなく、新しいスプライトを作成してそこにコードも実装すると回避できるみたいです。

 サンプルプログラムをFC2のサーバの方へアップし、記事に関連付けてみました。上手く表示されるでしょうか?

FC2のアカウントを取得

 FC2のWebスペースのアカウントを取得しました。

 以前作成中のプログラムなんかを公開していたiswebライトのサービスが終了してしまいました。多くの会員をかかえ有意義なサイトがたくさんあっただけに非常に残念です。
 替わりに容量の大きい(1GB)FC2のサービスを利用させていただくことにしました。少しスタイルシートの勉強をしなおして作成したトップページが下記の画像です。

LITTLE CLAP ゲーム製作日記-FC2

 サーバにアップロードして表示を確認しました。といってもまだ準備中であるため何もありませんし、繋がっていないリンクも残っています。
 URLはhttp://summerclap.web.fc2.com/ になります。FLASHの試作品を載せていこうと思っています。

int型の割り算

 今までActionScript1.0しか触れたことが無かったのですが、ActionScript3.0はいいですね、C++やJavaと似たような感覚でコーディングできる上に圧倒的に処理が早い!
 でも混乱することもしばしば。

var a:int = 3;
var b:int = 2;
trace(a / b);
答え:1.5


 え!?

 いやいや、3÷2の答えが1.5なのは当然です。でも整数しか扱えない型同士の割り算で答えが浮動少数型になるなんてビックリですよ。

FLASH始めました

 さて、またまた随分ご無沙汰してしまいました。ゲーム製作の方はサッパリです。

 私は仕事で3Dデータを作成するツールを開発しているのですが、出来上がった3Dデータは主に閉じた社会で利用されるだけです。JPEG画像や動画、音楽のようには自由に交換されているとはいえません。これは一般的なPCに3Dデータ閲覧・編集ソフトがデフォルトで入っていないのも原因の1つだと思っています。せめて閲覧だけでも気軽にできるようになると良いのですが……。

 以前はJavaアプレットによりブラウザで閲覧 することを試みていましたが、近年FLASHプレイヤーがポリゴンを意識した実装を増やしてきていると聞いて、そこからアプローチしてみたいと思います。
 まずはフリーの開発環境であるFlashDevelopをダウンロードして学習しています。このIDEは凄いですね、コード入力時の自動補間とかVC以上に感じることがあります(言語使用やライブラリが整っているので一概に比較できませんが)。