新 3D クラス開発日記(13) ~ パッケージ<4> Aq3D.skin ~
2007/02/19 22:03 - AS3.0
今回からは面を使った 3D 表現の話になります。
まずはパッケージ Aq3D.skin の説明から。
Aq3D.skin
「面」の表示に関わるクラスのパッケージで、以下の 4 つのクラスが属しています。
BitmapSkin
BitmapData で面を組み立てます。
BitmapData をダイレクトに使う場合と、空の BitmapData を作って、そこにムービークリップなどを draw する場合の二通りの使い方があります。
- poligon
- 対象の Poligon オブジェクト
- info
- スキンタイプ別変数ハッシュ
このパッケージに属する4つのクラスのコンストラクタ構文はすべて同じになります。
info には以下の変数が格納されます。
- seg
- DistortImage の引数であるセグメント数
SurfaceSkin
BeginFill と lineTo で面を組み立てます。
info には以下の変数が格納されます。
- line_thickness
- 線の太さ
- line_color
- 線の色
- line_alpha
- 線のアルファ値
- surface_color
- 面の色
- surface_alpha
- 面のアルファ値
WireSkin
lineTo で面を組み立てます。
info には以下の変数が格納されます。
- thickness
- 線の太さ
- color
- 線の色
- alpha
- 線のアルファ値
ZlightSkin
BeginFill で面を組み立てますが、Z 座標値によって、塗りつぶす色の明るさを変えます。
info には以下の変数が格納されます。
- color
- 面の色
- alpha
- 面のアルファ値
- range
- 色変動適用範囲
- flg
- 色変動フラグ
Aq3D.skin パッケージのクラスは基本的にすべて同じ挙動をします ( BitmapSkin だけ多少異なります)。
上で述べたとおり、コンストラクタの第1引数で、対象 Poligon オブジェクトを指定していますが、 その Poligon 内には、face というプロパティ名で表示オブジェクトが登録されています。
この表示オブジェクトに対して、lineTo や BeginFill、BitmapData 貼付をおこなうことで面を表現するわけですが、そのために必要な各種変数を、コンストラクタの第2引数 info で定義します。