【ルイコでもわかる】二週目開始処理のつくりかた
はじめに
お久しぶりです。気を抜くとすぐに一月経ってしまいますね。
4月は全く更新できなかったので5月はあと2回くらいは更新したいなと思ってます。
今回はプラグインを使わずにスクリプトを1行(条件分岐と合わせると2行)書くだけで簡単に二週目を開始する処理を作っていきます。
まずは実際に作ってみたものを動画にしたのでご覧ください。
つくりかた
作り方は非常に簡単です。
セーブ画面を開く前に次のスクリプトを記述。
$gameTemp.toTitle = true;
条件分岐:スクリプトに次のスクリプトを記述するだけです。
$gameTemp.toTitle
ちなみにですが toTitle の部分は条件分岐とスクリプトで一致していればどんな名前でも大丈夫です(他の変数名に被らない限り)
実際に使用する際には、動画でお見せしたようにセーブ後に確認のメッセージがあったほうが親切だと思います。それらの処理が追記されたものが次の画像です。
簡単ですね。
セーブの表示にクリアデータなどと追記できるプラグインなどを活用するとよりわかりやすくなるのではないでしょうか。
なぜこうなるのか
通常、イベントコマンド「セーブ画面を開く」を使用してセーブを行った場合、ロードをすると直後のイベントコマンドから実行されることになります。その為、「セーブ画面を開く」と「タイトル画面に戻す」を続けた場合、ロードしてもすぐにタイトルに戻ってしまいます。
$gameTemp という変数は一時的な保存先として使用されることを想定したグローバル変数です。例えばマウスクリックしたときの目的地等に使用されています。ちなみにですが Temp というのは Temporary の略で「一時的」という意味の英単語です。
$gameTemp は ニューゲームとロードゲームの際に初期化されます。
最初の一回はセーブの前に $gameTemp.toTitle を true にしているため条件分岐の中の処理を通過することができますが、一度タイトルに戻りゲームをロードしたときには $gameTemp.toTitle は初期化され false となっているため条件分岐の中の処理がされることはありません。
(正確には toTitle は undefined になっています)
おわりに
今回は趣向を変えて開発TIPSの紹介でした。
同じ処理をつくる場合でも様々なアプローチがあります。このやり方が絶対に正しいという事はありませんので、色々試してみるといいのではないかと思います。
もし、この処理はどう作ればいいんだろうという質問がありましたらコメントをお願いします。試しに作ってみて記事にするかもしれません。(必ず返答できるかはわかりません、時間もかかりますので急ぎの場合は他のコミュニティで質問してください)
次回は VSCode と Text2Frame を導入して開発効率を上げることをテーマにした記事の作成を予定しています。