Metasequoia改造論(2) 透明マップの読み込み
さて、AS3のMetasequoiaクラスで階層構造を実現できたので、次は各種マップの読み込みを行う。とりあえずPV1.7の段階でも実現できてた模様マップと透明マップの読み込みについて。バンプマップは実現しようとすると光源の話になったりしてややこしそうなので後でまた作ります。
さて、今回実現する機能は、「模様マップと透明マップを読み込み、合成して1つのBitmapDataにする」と言うもの。で、Materialとしては合成したBitmapDataを使用すれば透明部分のあるテクスチャの出来上がり。
修正から
というわけで、まずは既存バグの修正から。
バグって程じゃないかもしれないけど、実はMetasequoiaクラスはロードすべきマテリアル数を指定し、ロード完了を検知するための変数_materialsToLoadが常に0のままになってて、マテリアルのロード完了イベントを通知できない。それを解消する。
と言っても、マテリアル数を取得した後、_materialsToLoadに代入するだけ。
// マテリアル数を取得
var num:Number = parseInt(line.substr(9));
if (isNaN(num)) {
return -1;
}
var num:Number = parseInt(line.substr(9));
if (isNaN(num)) {
return -1;
}
↓
// マテリアル数を取得
var num:Number = parseInt(line.substr(9));
if (isNaN(num)) {
return -1;
}
//ロードするマテリアル数を設定
_materialsToLoad = num;
var num:Number = parseInt(line.substr(9));
if (isNaN(num)) {
return -1;
}
//ロードするマテリアル数を設定
_materialsToLoad = num;
カテゴリ:ActionScript | Papervision3D



