[RGSS3]ツクールVXAceのスクリプトでピクチャの消去を行う方法
RPGツクールVXAce & MVスクリプトwikiとプラグイン

[RGSS3]ツクールVXAceのスクリプトでピクチャの消去を行う方法 > ツクールVXAceスクリプト(RGSS3)wiki

トップページ > ツクールVXAceスクリプト(RGSS3)wiki > ピクチャの消去

ピクチャの消去 / ツクールVXAceスクリプト(RGSS3)wiki

ツクールVXAceでピクチャの消去をスクリプトで行うなら以下の通りです。


screen.pictures[番号].erase

サンプルコード(番号1の画像を消去)

screen.pictures[1].erase


コード解説


1行目のscreenとはGame_Screenクラスを参照しています。

screen.pictures[番号]で指定した番号のピクチャに関するデータを参照しています。

ピクチャの消去では画像データそのものを消去している訳ではなく、画像番号に対応する画像名を""、つまり空にすることによって消えたようにしています。

画像データそのものは存在しているため、フレームごとにそのデータに関しての読み込みがなされます。

このため、使用する画像番号を無暗に増やすことは、たとえ画像をイベントコマンドで消去したところで存在は消えていないので、ゲームが重くなる原因となります。



ピクチャ関連は"screen.pictures[番号]"が長いため、イベントスクリプトに載せると長くなり、エラーが出る原因となるので、一度変数に代入する必要があります。

さらにピクチャ関連をスクリプトで行う場合はピクチャの変数を頻繁に使うことになるため、スクリプトに慣れないうちは$がついたグローバル変数と呼ばれるものを使うことをお勧めします。

なぜならイベントスクリプトでは、スクリプト処理をしている行が別になると内容が引き継がれないからです。

例えば以下の例では3行目でsp3が未定義のため起こるエラーが発生します。


ダメなピクチャ表示のスクリプトの例

しかし、以下のように$を付けてグローバル変数にするとエラーなく、正常に処理されます。


良いピクチャ表示のスクリプトの例

もし、グローバル変数を使用せず、以上のような処理をしようとすると以下のようになります。


良いピクチャ表示のスクリプトの例

このようにイベントスクリプト内でもう一度ピクチャを宣言しなければならず、これでは非効率的です。

グローバル変数に代入しておけば、別コマのイベントスクリプトでもピクチャをわざわざ宣言しなくても使用することが出来るため、効率的です。

ただし、注意としては「グローバル変数」と名前がついているようにゲーム中どこからでも参照出来てしまうため、誤って同じ名前を付けてしまったときに予期せぬ動作やエラーを引き起こす原因となる点です。

このため、名前を付ける際は被らない名前を付けるようにしてください。

 

ツクールVXAceスクリプトリファレンスwikiトップページへ戻る




オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。



表示変更

任意の色に変えるときはテキストボックスをクリックしてカラーピッカーで決め、変更ボタンを押してください



文字色変更





コード色変更





コード背景色変更





背景色変更