RGSS3スクリプト入門2 スクリプトの構造

フォーラムルール
参加者または第三者に対する誹謗中傷は厳禁です。言葉遣いにも気をつけましょう。
不適切な発言、著作権を侵害する投稿があった場合は当該ポストを断りなく消去することがあります。
galanti
Site Admin
記事: 16
登録日時: 2015年11月10日(火) 01:09

RGSS3スクリプト入門2 スクリプトの構造

投稿記事by galanti » 2016年9月15日(木) 00:34

:D スクリプトの構造
新しいプロジェクトを作成すると、ツクールのメイン画面にマップが1枚だけ表示されます。これが「まっさらな」プロジェクトです。これを見るとプロジェクトの中身はマップ1枚だけに見えます。しかし、この時点でゲームを動かすのに必要な「スクリプト」はすべて入っているのです!
これから見ていくのは、このデフォルト状態のスクリプトたちです。
そのスクリプトを開いてみましょう。ツクールには「スクリプトエディタ」というスクリプトを編集するソフトが付いています。これを開きましょう。メイン画面の上の方にある「スクリプトエディタ」というアイコンをクリックすると開きます。

スクリプトエディタは2つの画面からなっています。左画面を見ると、スクリプトファイルのリストがずらずらと並んでいます。これらすべてがすでに新規プロジェクトに含まれているのです。
左画面のスクリプトファイルをクリックすると、右画面にそのスクリプトの内容が表示されます。


:D スクリプトのカテゴリを知ろう
では、スクリプトファイルのリストを見ましょう。ファイルはものすごくたくさんありますが、いくつかのカテゴリに別れていることが分かります。

▼モジュール
▼ゲームオブジェクト
▼スプライト
▼ウィンドウ
▼シーン
▼素材
▼メイン

これらのカテゴリが確認できましたか?このカテゴリ分類がどういう意味かが分かれば、スクリプトの構造は半分分かったようなものです。

▼モジュール
モジュールとは、便利な道具がつまった道具箱と考えてください。いつでもどこでも使えるので、気軽に呼び出したい機能はここに置いておきます。
また、ゲーム全体を管理するような機能もこのカテゴリにあります。

▼ゲームオブジェクト
ゲームオブジェクトとは、データを扱う箱です。データとは、数字や文字などの情報です。それ以上でもそれ以下でもありません。「ゲームオブジェクトとはただのデータ」、これを必ず覚えておいてください。ゲームオブジェクトだけでは、画面には何も表示されません。ただのデータなので当然です。

▼スプライト
スプライトは、画面に表示するモノを扱います。ただし、ウィンドウ以外のモノです。このカテゴリのスクリプトたちがマップ、画像、ドットキャラなどを画面に表示するのです。
ただし、「何をどのように表示するか」といった「データ」は、ゲームオブジェクトが持っています。スプライトは「ゲームオブジェクトのデータのとおりに表示する」だけです。もしゲームオブジェクトの情報がないと、スプライトは画面に何をどう表示していいのか分からず、エラーになってしまいます。

▼ウィンドウ
このカテゴリは、ツクールで使われるウィンドウをすべて扱っています。ウィンドウの種類はゲームの場面によって色々です。このカテゴリが画面にウィンドウを表示させるのです。ウィンドウを「どこにどう表示させるか」の情報は、ゲームオブジェクトが持っています。ウィンドウの中身の情報もゲームオブジェクトが持ちます。ウィンドウカテゴリのスクリプトは「ゲームオブジェクトのデータの通りにウィンドウを表示する」だけです。

▼シーン
ゲームは様々なシーンからなります。最初は「タイトルシーン」から始まり、ゲームが始まると「マップシーン」「戦闘シーン」「ゲームオーバーシーン」などに移っていきます。ゲーム中は必ず何かのシーンが実行されているのです。
そうしたゲーム中のシーンを管理しているのがこのカテゴリです。

▼素材
ここはデフォルトでは空っぽです。自分でスクリプトをいじってゲームを改造したい時、自作のスクリプトを置いておくスペースです。

▼メイン
ここにMainというファイルが1つだけ置いてあります。これこそが「ゲームが始まった時に一番最初に実行されるスクリプト」です。


:D スクリプトファイルとは
スクリプトはいくつかのカテゴリに分かれている事が分かりました。そしてカテゴリの中にスクリプトファイルがたくさん並んでいますが、この「スクリプトファイル」とは何なのでしょう?

ファイル名を見ると規則性がありそうです。
  • 「ゲームオブジェクト」カテゴリのスクリプトファイル名は「Game_」で始まる
  • 「スプライト」カテゴリのスクリプトファイル名は「Sprite_」または「Spriteset_」で始まる
  • 「ウィンドウ」カテゴリのスクリプトファイル名は「Window_」で始まる
  • 「シーン」カテゴリのスクリプトファイル名は「Scene_」で始まる
  • あとは、「モジュール」カテゴリには「○○Manager」というファイル名が3つあります。


難しく言えば、これらのスクリプトファイルは、それぞれ1つの「クラス」を定義しています。
何を言っているのか分からなければ、スクリプトファイルは「仕様書」だと考えてください。


例をあげましょう。「ウィンドウ」カテゴリの中に、Window_Messageというファイルがあります。このファイルの中に、Window_Messageという「仕様」が書かれています。
これは、「メッセージウィンドウの仕様」です。メッセージウィンドウとは、キャラたちのセリフが表示されるウィンドウです。
つまり、「メッセージウィンドウがどんな働きをするか」をすべて記した「仕様書」がWindow_Messageなのです。

要するに、「スクリプト」とは「仕様書の集合」なのです!

「仕様書」を見れば、働きが分かります。「シーン」すらも「仕様書」に働きがすべて書かれています。「タイトルシーンって何をしているの?」と思ったら、Scene_Titleという「仕様書」を読めばすべて分かります。


:D スクリプトを見ていく順番について
スクリプトは「仕様書」の集合。これからその「仕様書」をすべて見ていくわけですが、やみくもに見ていっても混乱しますので、分かりやすい順番に見ていくことにしましょう。

まず、ゲーム全体を支配している「メイン」と「モジュールの一部」を見ます。次に、「シーン」を一つ一つ見ていきます。それから次に、画面描画を受け持つ「スプライト」と「ウィンドウ」を見ます。その後で、「ゲームオブジェクト」を見ていきます。
なお、「モジュールの残り」については、必要に応じて見ていくことにしましょう。

「ゲーム全体を支配するもの」から「細かい働きを担うもの」へと順番に見ていくわけです。
それぞれのカテゴリの「仕様書」がどう働くか、以下で確認してください。

    1.「モジュール」はゲーム全体に関係する道具箱、またはゲーム全体の管理者。
    2.「メイン」はすべての始まり。
    3.「モジュール」の中にSceneManagerという「仕様書」があります。このSceneManagerこそがゲーム全体を統括する働きを記しています。いわば「指令本部マニュアル」です。
    4.指令本部に所属する司令官(@scene)は、ゲームが続く限り何かのシーンを実行し続けます。そのためのマニュアルが「シーン」の「仕様書」たちです。
    5.「シーン」内では、ウィンドウや画像などが使われ、表示されます。そのためのマニュアルが「スプライト」「ウィンドウ」の「仕様書」たちです。
    6.ゲーム画面の表示は、データに従って行われます。そのデータを扱うマニュアルが「ゲームオブジェクト」の「仕様書」たちです。

“RGSS3 (VX Ace)” へ戻る