【超初心者向け_Javaスクリプト講座】ツクールMV/Part①コアスクリプト&クラス編
こんにちは、ヨ空です!こんにちは!
普段はゲーム制作をしております!
制作記事のついでの話でJavaスクリプトの話をしていたのですが
意外と?需要がある…ご様子なので別枠で記事にしました
(本命の制作作業が疎かにならない程度に更新させていただきます…!)
※本記事はヨ空がツクールMVの制作などで得たJava(Javaスクリプト)
Javaを Javaスクリプト未経験でもわかりやすく解説する…という内容の記事です
(慣れている方や中級者/上級者の方には物足りない内容かと思います)
■こんな方向けです(Part①)
当方もスクリプトを追求中ですが、Part①は、こんな方向けです
・「スクリプトってなにそれ?名前は一応知ってるよ!」
・「ゲーム画面を自由自在に改造できるんでしょ?」
・「自分流のかっこいいゲーム画面/もしくはシステム実装したいぜ!」(後々)
おそらく、同じJavaなのでツクールMZにも応用可能?かもしれません…
■URLリンク用
【超初心者向け_Javaスクリプト講座】
Part②
【超初心者向け_Javaスクリプト講座】ツクールMV/Part②X座標Y座標&画面サイズ編
(X座標、Y座標等、画面サイズについて解説)
(本命の制作作業が疎かにならない程度に更新させていただきます…!)
■まずコアスクリプトについて(Javaの簡単な説明も)
Java(読み:ジャバ) のJavaスクリプトはプログラミングの言語の一種なんですが
スクールMVやMZでのスクリプトに採用されています
(Javaというプログラム/プログラミングのコードがあって
ツクールMV/MZに使われている…という認識でOKです)
そのJavaスクリプトなんですが、ファイル上のPC(パソコン)上やフォルダ上では
「jsファイル」という形…形式で置かれております
js(読み:ジェイエス)
(Java、もしくはJavaスクリプトはjsファイルなんだ…!という認識でOKです)
■こんな感じのツクールのフォルダです
ツクールMVのゲームエンジンの付属のフォルダ内に
jsフォルダ(javaスクリプトが入っているフォルダ) がありまして
こんなん感じです
お手元のツクールのフォルダ と参照して見てみてください
※ツクールMVのjsフォルダの中です
日付とか時刻は全然無視して考えてもらってOKです
plugins(プラグイン)フォルダ の下に
main(メイン) とかplugins(プラグインズ)
そしてrpg_core(RPGコア) とか rpg_manager(RPGマネージャー)
とかあるのは確認できましたでしょうか
そのフォルダマーク 以外のjsファイル(Javaスクリプトのファイル/上記) は…
jsファイル はコアスクリプトと呼ぶ物らしいです(公式が呼称)
ようするに公式用の…ツクール本体用の
Javaスクリプトのjsファイルって事で覚えてもらってOK です
特にいじらず、いじったり改変したりせず
Javaスクリプトのjsファイルをこのままで
ゲームを作ると、よく見かける感じの
デフォルトな外観のツクールゲームになります
(見た目を話題に使って言ってますが
ヨ空はUIの見た目をどうのこうの言う目的では無く説明目的です…!)
プラグインの使い方、登録の仕方/登録方法の大体の説明なのですが
(基本はプラグインを登録しないと使えません…)
このコアスクリプトを改変 した物を
フォルダ内のplugins(プラグイン)フォルダ側に
※このplugins(プラグイン)フォルダ です
プラグイン(自作の追加スクリプト)としてフォルダ内に入れて
プラグインフォルダの開き方は
※ゲームエディタ(ツクール)外のフォルダの
jsフォルダ→pluginsフォルダへアクセスできます
※ゲームエディタ(ツクール)側では上側の
ゲーム タブ(ヘルプ タブの左横)→フォルダを開く
でもアクセスできます(テストプレイの下)
その後jsフォルダ→pluginsフォルダ
(制作用にショートカットを作っておくのもアリかも…?しれません)
プラグイン(作ったjsファイルのスクリプト)を
プラグインフォルダに入れてから
エディタ側のプラグイン管理でプラグイン登録して
ONで起動する事で改変できる… ようになっています!
※この画面です
※ツール タブ(先ほどのタブの左横)→プラグイン管理でアクセスできます
※F10キーでも簡単にアクセスできます(ショートカット対応)
(プラグインフォルダに入れただけで起動する方法もありますが
難しくなるので省略、プラグイン管理から推奨 です)
※初期だとインターフェース的な
ゲームのベーシックプラグイン(ゲーム画面サイズの変更、キャッシュの自動クリアなど)
ロゴ表示用のプラグイン(タイトル画面の表示する前に、制作者側用のロゴ表示する)
などが入っていまして
Altプラグイン(メニュー画面を改変するプラグイン、立ち絵表示も可能)
アイテム図鑑プラグイン(アイテム図鑑を実装する)
など、いろんなプラグインが、すでにフォルダに入っておりますが
Javaが大体わかれば、改変する事も自作する事も可能です…!
では、自分が恐らく得意であろうと思う…
UI(ゲームの見た目/ゲーム画面の見た目)を改変する方法の
どこを見て、参照すればいいのかを大体説明します
コアスクリプトの内容は需要があれば簡易的に説明します
UI目的の場合、まず直視していただきたいのが
rpg_scenes(RPGシーン) とrpg_windows(RPGウインドウ) の2つです
scenes(シーン) はタイトル画面やマップ画面、バトル画面のシーン の
動きみたいな物が登録されている機械仕掛け舞台装置 みたいな
台本や設計図の一部 だと思ってもらうと多分わかりみが深いと思います
windows(ウインドウ) はウインドウ関連の項目を取り扱ってるスクリプト
メッセージウインドウ(会話ウインドウ) や選択肢ウインドウ
メニュー画面のウインドウ とか、その他スキルとか装備とか… を含む
名前入力画面 とかショップ画面 とかバトル画面 の…
ウインドウ を管理していて
シーンから引っ張って、関連 した感じで
ウインドウを管理しているスクリプト で
シーンの相方的 な感じで、もう1つの台本や設計図 と思ってもらうと
恐らく、わかりみが深いと思います
この2つを丸ごとコピー(改変/改造)して使いたい箇所を
丸ごとコピーしてプラグインとして使うのもアリっちゃあアリなんですが
多分やめた方がいいです(現在の自分の意見)
じゃあ、どう改造するの? といいますと
上記のスクリプト、scenesとwindowsを改造するのですが
直接改造するのは絶対…これも、やめた方がいいです
Steam版 などの場合だとアップデートで書き換えられて
直接改変した部分が元の初期の姿に書き換えられてリセットされる恐れが高いです
あと、コアスクリプトを直接的に触っている…ので
失敗したら1回でオシャカになってダメになってしまいます! ので
正直、安全要素が無いギャンブル…ヨ空的に絶対にオススメできません…!
■続いてクラス(スクリプト)について
コアスクリプトのJavaスクリプトにはクラス(Class) という物がありまして
(コアスクリプト、Javaの中身にはクラスがあるという認識でOKです)
スクリプトの方のクラスの話になりますが…例え話なんですが
RPG用のエディタ内でも職業 などがクラス と呼ばれてますよね?**
RPGのエディタとしての職業のクラス
勇者とか戦士、魔法使い とか僧侶 とかあるじゃないですか…!
それで初期の人達には、職業が割り当てられてますよね…?
(関係無い話をしている感がありますが、似た様な感じでして…)
勇者のハロルド 、戦士のテレーゼ 、魔術師のマーシャ 、僧侶のルキウス
(※RPGツクールMVの場合)
勇者のアレックス 、戦士のブライアン 、魔術師のキャロル 、僧侶のデイジー
(RPGツクール2000の場合のうろ覚え…)
画面上では名前、職業名(クラス名)の順に基本表示されます… が
(スクリプトのクラスも職業や役職の名前
舞台装置名のような名前という認識でOKです)
この勇者(職業名)のハロルド(名前)に例えて話しますが
ハロルドがコアスクリプトの様な物で
勇者がクラス(スクリプト) の様な物…だと思ってくださると
多分わかりみが深いと思います
ウインドウ(Windows) には勇者や戦士、魔術師や僧侶の様に
ベース用、コマンド用、メニュー画面用、アイテム画面用 という
役職やら舞台装置名が あるのだ…という事で覚えてもらうと
恐らくわかりみが深いと思います
1つのコアスクリプトのクラスの数が
野球やサッカーのチームの人数(10~20)くらいの認識でOKです
(※ウインドウ(Window)やシーン(Scene)の場合)
■スクリプトのclass(クラス)についての簡易解説
後々に解説していく…としまして、コアスクリプトのクラス…
ウインドウ(rpg_windows)のクラスはどのような物があるのか?… を解説します
Window_Base.prototype…略
(これは一応はウインドウのベースのクラスのコードです)
こんな感じなのスクリプト/プラグインを見た事ありませんか?
あと、赤文字の部分違いとかで
Window_Selectable(ウインドウセレクタブル/セレクトでも可)
(これは選択肢系のウインドウ用 のクラスのコードです)
Window_Command(ウインドウコマンド/コマンドでも可)
(これはコマンドウインドウ用 のクラスのコードです)
Window_Help(ウインドウヘルプ/ヘルプ/ヘルプウインドウでも可)
(これってアイテムとかスキルや装備などの
説明文のアレのヘルプウインドウ用 のクラスのコードです)
Window_Gold(ウインドウゴールド/ゴールドでも可)
(会話用のメッセージ/選択肢ウインドウとかで右上に所持金を表示
デフォルトだと~~G(ゴールド)と表示するアレ の…
所持金表示用のウインドウ用 のクラスのコードです)
※これは使う人は使うし、使わない人は使わないかもしれません
他にもメニューコマンド(メニュー開いた時にでるコマンドリストなアレ)
の話になりますとスキル用 や装備用 、アイテムの画面用 なんかがあります
このクラスのコードさん達は独自で結構ありますw
(これものちのち…という事で)
■一応載せて置きます!
Window_MenuCommand(メニューコマンド)
(上記のコマンドを引用していまして(後々解説)…
メニュー画面用 のメニューコマンドです)
Window_MenuStatus(メニューステータス)
(メニュー画面、右側のメニュー画面用の
主人公や仲間達のステータス画面用のウインドウ です)
Window_Gold(ゴールド)
(所持金のウインドウ で上記と一緒なんですが
会話ウインドウ等(右上)やショップ画面等の表示では
別枠扱いでシーン等を使って、このWindow_Gold から引用したりしてます)
(後々解説)
■閲覧していただきありがとうございました!
■お疲れさまでした!
長々と語らせていただきましたが
シーン やウインドウ に…、クラス と呼ばれているコードがある…
上記のような感じのコードがあるという事を知っていただけたでしょうか?
クラスの解説は、大まかに説明させていただきまして
以上となります(他のコアスクリプトのクラスは後々…)
コアスクリプトとクラスについて理解を深まりましたか…?
プラグインも大体わかっていただけたでしょうか?
Javaへの理解が深まった…、わかりみが深まると
ヨ空も記事を書いた甲斐があります!
(ツクール等のjavaでお困りの方のお役に立てば幸いです!
自分もゲーム制作をがんばろうと思います)
次回はX座標やY座標、画面サイズについて、当講座の続きを投稿しようと思います
もうjavaを始められている方はそのままファイトです!
それ以外の方、次回をご希望の方は次回更新をお待ちください…!
それでは、良い制作ライフをー!