アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。
今回は
メッセージログ機能を作ってみようかと。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
仕様を考えます。
・Lボタンで、ログ画面を表示しようと思います。
・とりあえず、1画面にテキスト5個分表示できるようにしたい。
・とりあえず、1ページ表示出来たらヨシとする。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
アクツクは、テキストを素材として管理しているので
以下の方法で、実装してみようと思います。
まず、テキストのタイトルにナンバーを振り分けておきます。
1番を表示する命令を出した時に、ついでに番号を控えておいて
つららららっと表示する感じかな。
今回は画面いっぱいに表示したとしても
4つくらいしか一画面に表示できませんね。
そこで、メッセージログだけフォントサイズを少し小さく
してみようと思います。
表示にフォントサイズの設定を変更する方法では
通常時のフォントサイズまで変わってしまうので
\S[-\V[30,フォントサイズ]]
この
制御文字を使います。
フォントサイズという名前の変数を作り、通常は値を0にしておきます。
ログを表示する時だけ、2~4の値に変更して、小さく表示させるわけです。
ログを表示するとき以外は初期値でいいので、オブジェクトの変数を使います。
なお、30という数値は、オブジェクトIDです。
オブジェクト30番にフォントサイズという変数を作成して使用しているわけです。
これで、1画面に表示できる量が増えます。
今回は5個ぐらいにしておきます。
何ページ分ログを保存するか、という問題もありますが
まあ今回は1ページ分ということで。
ちなみに、プラスもマイナスもつけず
\S[\V[30,フォントサイズ]]
のように記述すると、指定したフォントサイズで表示されるので
小さくするだけでなく、大きくしたテキストも
別のイベントで流用したい時には良いかもしれません。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
テキスト番号を覚えておく変数を5個。
(複数ページを設ける場合は、ページ数を掛けた数必要)
ログを覚えるアクションを起動するための変数1個。
ログを表示するメニュー画面を1つ作成。
作ったメニュー画面にテキストの表示位置として
5つオブジェクトを配置するわけだけど・・・
それぞれのオブジェクトに変数を新規作成、リンクは自身のオブジェクトの変数で指定。
テキスト表示イベントを組み込んで5つコピれば、修正が少なくて済む。
何が大変って、テキスト表示とリンクする命令を貼りまくることだよね。
セリフが多いほど地獄を見る。
そんな気がします。(サンプルは2つしかないから楽勝)
表示命令を出すオブジェクトを作成。
5つのオブジェクトの変数をそれぞれ代入する係。
ゲーム上でテキストを呼び出したときに、ログを覚えるアクションを起動する変数に
テキストに割り振った番号を入力。
番号を受け取ると、それをログ番号に順番に放り込んでいくわけだけど
常に最新の状態にするには、番号を繰っていく必要がある。
だから、最新の番号を入れる前に、1個ずつ変数を繰っていきます。
4番の値を5番へ、3番の値を4番へ・・・
最後に1番に最新の番号を代入して終わり。
ログの数を多く設定したら
連打やスキップでテキストが高速で表示された場合
果たしてログの取得が間に合うのか?
ドキドキしちゃうね。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
ログ表示用のメニューに、テキストを呼び出すオブジェクトを
等間隔に5つ並べます。
ログ表示用メニューに置いたオブジェクトの変数は
同じ表示用メニューに配置されたオブジェクトからしかできないので注意。
後は、ログ表示中にセーブを呼べ出せないように
セーブを呼び出すオブジェクトにも細工を施す。
今回は1ページなので、決定でもログを閉じます。
完成。
まあ、こんな感じです。
システム自体は、難しくないのですが
テキスト呼び出しイベントの入力は大変そうですね・・・
場合によっては、複数のオブジェクトに分ける等が必要かも。
このシステムでメッセージログを導入するのは
テキストの入力が全部終わってからがよさそうです。
というわけで、今回のサンプルは
こちら。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
さて次回は、
メッセージ一時非表示と
メッセージスキップの2本立てでいってみましょうか。
[1回]