monocro命令が効かない!
 黒い背景に画像をlsp2で拡大表示し、monocro命令で赤くしようと試みた。
 最小スクリプトでは成功するのに、ゲームに組み込むとなぜかmonocro命令が効かない。色が変わらずそのままになる。どうやら背景を変更するとmonocro命令が有効になるようだが、bg命令のパラメータにblackを与えたり、黒一色の画像を背景として読み込ませた場合は無効になる。
 NScripter自身の不調やenvdataの破損等も考えたが、そもそも別の場所で使っているmonocro命令は正常に動作しているのだ。スクリプトのある一点においてのみ動作しない、というのはどうも腑に落ちない。
 あー、もうわけわからん。debuglogでどうにかできる問題でもないし、どうしたもんか。

【追記】
 背景を変更すると有効になる、というのはどうやら勘違いだったようだ。スプライトのα値を通常の半分にしていたため、単に背景の赤さが透過していただけの模様。

 そして原因も判明した。どうやら犯人はwindowback命令のようだ。
 windowbackを使うと、いかなる拡張スプライト番号にしようが、monocro命令がスプライトに反映されることはなかった。humanzを使っても駄目。
 ちなみに通常のスプライト(lsp)の方は、windowbackを使ってもhumanz以降の値を指定すれば問題なかった。
 うーん、これはlsp2を使うなということなんだろうか。システムカスタマイズをしている以上、windowbackは必須だし。drawspあたりで代用してみるか。

【さらに追記】
 赤くしたい画像の前に、真っ赤なウィンドウサイズの画像を1枚lsp2でロードすることで解決しました。
[PR]
by lyricist_m | 2007-07-04 18:31 | NScripter
<< オプションの場所 スタックの速度改善 >>