表示されるはずの画像が表示されない。よくある話だ。
今日もテストプレーの最中に
「移動ルート強制中に場所移動をしたらプレイヤー画像が消えた」
という問題が発生した。
確認したところ、デフォルトではそのような事態にはならないので
私が追加した部分に問題があるということになった。
RGSSの場合、表示されるべき画像が表示されない理由は
ほとんど Sprite クラスのプロパティによるものだ。
だからバグチェックの際は表示されるべきタイミングで
p を使ってプロパティをチェックするといい。
関連するプロパティとメソッドは
x, y, z, ox, oy, opacity, visible, src_rect, disposed?
bitmap, bitmap.disposed?
の 12 種類だ。zoom_x と zoom_y もそうだがこれの値が
原因になることはあまり多くない。
なおオブジェクト生成時に viewport を指定した場合は
こちらの Z 座標が優先されるという仕様にも注意が必要だ。
ちなみに私の場合はキャラクターの向きを示す
direction に 0 が代入されていたことが原因だった。
キャラクタースプライトは direction の値からsrc_rect.y を
pattern の値から src_rect.x を算出する。
direction が 0 だとsrc_rect.y の値が負になってしまう。
実際の原因は direction だが、これをそのまま探すより
前述の方法で src_rect に問題があることを突き止めた上で
改めて原因を探った方が早いこともある。
今日もテストプレーの最中に
「移動ルート強制中に場所移動をしたらプレイヤー画像が消えた」
という問題が発生した。
確認したところ、デフォルトではそのような事態にはならないので
私が追加した部分に問題があるということになった。
RGSSの場合、表示されるべき画像が表示されない理由は
ほとんど Sprite クラスのプロパティによるものだ。
だからバグチェックの際は表示されるべきタイミングで
p を使ってプロパティをチェックするといい。
関連するプロパティとメソッドは
x, y, z, ox, oy, opacity, visible, src_rect, disposed?
bitmap, bitmap.disposed?
の 12 種類だ。zoom_x と zoom_y もそうだがこれの値が
原因になることはあまり多くない。
なおオブジェクト生成時に viewport を指定した場合は
こちらの Z 座標が優先されるという仕様にも注意が必要だ。
ちなみに私の場合はキャラクターの向きを示す
direction に 0 が代入されていたことが原因だった。
キャラクタースプライトは direction の値からsrc_rect.y を
pattern の値から src_rect.x を算出する。
direction が 0 だとsrc_rect.y の値が負になってしまう。
実際の原因は direction だが、これをそのまま探すより
前述の方法で src_rect に問題があることを突き止めた上で
改めて原因を探った方が早いこともある。
コメント