もう幼ければなんでもいい

【ツクールMV】イベントコマンドでロード画面を開かせる方法

ツクールMVでイベントコマンドでロード画面を開かせる方法について。

【結論】

イベントコマンドの3ページ目のラストあたりの「スクリプト」を開き、
SceneManager.push(Scene_Load);
と記述すればOKです。





【過程】

ツクール2000の頃からだったと思うのですが、デフォルトでロード画面を開かせるイベントコマンドがありません。

noload.png

あるのはセーブ画面を開くコマンドのみ。

ということで、どうにかロード画面を開かせる方法を探しました。




自分はぷろぐらむとかすくりぷとに関する知識がゼロなのですが、
どうやらゲーム内フォルダの「js」フォルダの中に直に置かれている、
rpg_core.js
とか
rpg_managers.js
とか
rpg_objects.js
とかが、ツクール本体の処理に関わることが記述されているファイルのようでした。
なんとなく、これらのどこかにセーブとかロードとか基本システムに関することが書いてありそうな気がしました。

jsファイルはテキストファイルとして開けるので中身を見て、
なんとなくセーブ画面とかロード画面に関係してそうな部分の記述」を探しました。

「save」とか「load」とかの単語で検索をかけていると、
rpg_objects.js の後半部分に、ツクールのイベントコマンドに関する記述がずらっと並んでいるのを見つけました。
前半部分はよくわかりませんがたぶん地球の言語じゃないです。見なかったことにしましょう。

イベントコマンドに関する記述は
// Show Text
(文章の表示)

の部分から始まり、
// Label
(ラベル)

とか
// Common Event
(コモンイベント)

とか、見慣れたイベントコマンドが順番通りに書かれています。

ならば、最後のほうに「セーブ画面を開く」のイベントコマンドに関する記述があるはずで、
そこを見ればどういう文章でセーブ画面を開かせているのかわかるはず…!

// Open Save Screen
Game_Interpreter.prototype.command352 = function() {
if (!$gameParty.inBattle()) {
SceneManager.push(Scene_Save);
}
return true;
};


ありました。

というわけでツクールのイベントコマンドの「スクリプト」に
Game_Interpreter.prototype.command352 = function() {
から
};
までのすべての行をコピペして、テストしてみました。


何も起こりませんでした。


もしかしてこの記述は、ツクールのエディタ上で『「セーブ画面を開く処理」をイベントに追加する処理』
とかなのだろうか…?
となると、「セーブ画面を開く処理」の部分だけをコピペしなきゃダメか…?
どこだそれ…?

SceneManager.push(Scene_Save);

なんとなくコレっぽい気がするぞ…。
pushって確か押す以外にも「~させる」って意味があったような気がするし…。
Scene_Saveって絶対セーブ画面のことだろこれ…。
push Scene_Saveでセーブ画面を開かせてるってことじゃないのか…?


そんなこんながありまして、この一行だけをイベントコマンド「スクリプト」にコピペしてテストしたら、
今度はしっかりセーブ画面を開くことができました。

しかし今回開きたいのはロード画面。

なので、先ほどの記述をなんとなく少し変えてみて…

SceneManager.push(Scene_Load);

にしたところ…

ちゃんとロード画面を開くことができました。





このコマンドと、公式プラグインのYami_skipTitle、
そしてトリアコンタンさんのピクチャのボタン化プラグインを組み合わせれば、
処理も含めた自作のタイトル画面を作れそうです。

大苦戦でしたが、学べたことは多かったです。
「なんとなく」は大事、とか。そのへん。

PageTop

コメント


管理者にだけ表示を許可する