新 3D クラス開発日記(8) ~ パッケージ<3> Aq3D.util ~
2007/02/09 22:16 - AS3.0
各パッケージとクラスについての話に戻ります。今回は Aq3D.util です。
Aq3D.util
3D 表現全体に関わるオプション的な機能を担うパッケージで、以下の 2 つのクラスが属しています。
FogEffect
Z座標の位置により、表示オブジェクトのアルファ値を変えるクラスです。
- marker
- アルファ値変動の起点
アルファ値の変動が始まる Z 座標値で、規定値は 0 です。
+値で、その絶対値が大きくなるほど奥に、-値で、その絶対値が大きくなるほど手前になります。
- range
- アルファ値変動適用範囲
上記 marker を 0 としたとき、下記のようになります。
Z 座標が 0 から ±range までの間のときに、その値に応じてアルファ値を変えます。
Z 座標が +値で、その絶対値が range を超えて大きくなると(画面奥になる程)、アルファ値は 0 を超えて小さくなり、その結果表示オブジェクトは消えることになります。
逆に Z 座標が -値で、その絶対値が range を超えるて大きくなると(画面手間になる程)、アルファ値は 100 を超えて大きくなります。
- flg
- アルファ値変動フラグ
上記のアルファ値の変動の正逆を指定します。
この変数の値が 1 のときは、画面奥になる程アルファ値が小さくなります(上記 range の説明どおり)。
-1 のときはその逆に、画面手前になる程アルファ値が小さくなります。
以下のような使い方が一般的だと思います。
- 頂点オブジェクトに対してこのクラスを関連づける
- 奥に行くほどアルファ値が小さくなるように設定する
こうすると、奥行き感がさらに増します。
Zsort
頂点や面のオブジェクトのZソートをおこなうクラスです
新しい 3D 表現クラスでは、Zソート機能は、単独クラスとし、取り外しが簡単できるよう仕様を変更しました。
このクラスはフィルター的な役割を担うので、コンストラクタでは引数を取りません。
sort メソッドの実行により、対象オブジェクトのディスプレイリストインデックス更新をおこないます。
- objectArray
- Zソート対象オブジェクトを格納した配列
- objectContainer
- 上記オブジェクトのコンテナ
ソーティングのエンジン部分は旧 3D 表現クラスの sort( function ) から sortOn に変えたため、より簡単にコードになっています。
次回は以下の説明になります。