忍者ブログ
windowsやブラウザ のゲーム作ったりとか。
アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。

今日のテーマは、オマケCG観覧システムということで。
仕様は、まあ・・・
・サムネイルがいくつか並んでて、選んで決定したら大きく表示される
・クリアしたらタイトルにCG観覧メニューが増える
・できれば全セーブデータ共有でフラグの立ったCGだけ見れる



こんにゃ感じですね。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

サムネイル(CG)選択画面は、メニューや選択肢を作るのと
同じ方法なので割愛。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

クリアしたら、タイトルにメニューを増やす件は
セーブメニューの回でも少しふれたけど
セーブスロットとは違う番号のスロットにクリアデータをセーブして
そのスロットにデータがあるなら、メニューを変更する感じですね。
これ以上の説明は不要と思われるので割愛。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

後は、フラグを複数のセーブデータで共有する方法です。
アクツクMVさんは、変数だけロードしたり、スイッチだけロードしたりできます。
ので、スイッチをゲームのイベントでは使わないことにして
変数だけでゲームを進行させるという割り切った方法で
スイッチの状態をすべてのセーブデータで共有したいと思います。

当プロジェクトでは
ゲームの進行を保存しているスロットが、1,2,3なので
0番を共有スロットとして扱うことにします。

タイトルで、0番が存在していたら、0番のスイッチをロードします。
クリアフラグがONになっていたら、オマケのメニューを解放します。

今回は、通常ロードした時に、スイッチの再読み込みはしてないけど
必要に応じて、スイッチをロードするのもいいかもですね。

ゲーム中、CG観覧が可になる変数に適切な数値を入れます。
任意の桁の数字を取得できる計算方法があるので
一つの変数にいくつかの情報を入れることができますが
素直に、1つの変数に1つの情報を入れておく方が
アクツク的には楽かなーと思います。

さて、ひとひねりしなければならないのは、セーブ時です。
セーブする前に、一度0番のスイッチをロードします。
そして、CG観覧用の変数をすべてチェックして
観覧用スイッチをそれぞれONにします。
0番にセーブをしたのち、通常セーブを行います。

これで、複数セーブデータがあっても、スイッチの状態を常に最新にし
なおかつ共有できるというわけです。
やったね!

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

というわけで、今回のプロジェクトはこちら
ついでに、最新のセーブデータにカーソルが乗るようにしてみました。

この方法と、「Steel Sword Story」さんの
ロードファイル選択システムを合わせて使えば、もはや完璧なのでは?
「最初から」始める場合に、変数の初期化をお忘れなくー。

ちなみにセーブの時もやるなら、一旦他のスロットにセーブした方が良いね。
避難所にセーブ、選択したスロットの変数をロード、スロット確定時に
避難させたセーブデータから変数をロードして、後は同じ。

そして、宿題だったメッセージのあれ。
一文字ずつ表示で、決定押しても次のメッセージに行かず
目隠しが取れるだけにするように変更してみました。
選んだ方法、同じだったかな?
もっと簡単にできたよって方は教えてね!

短いメッセージはすぐ次の行へ行けるように
分割したアニメも用意すると、良いかもね。

後、入力待ちアイコンをスイッチで制御してたけど
変数に変更しました。
スイッチを使う方法のままだと、メッセージ表示前から表示されちゃうので。
こんな感じで、スイッチはおおむね、オマケ用のフラグ以外使わないようにしてね!

次回は、メッセージログとかいっちゃう?

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

オマケっていうか、注意点?
ちょこちょこ、オブジェクトの変数やスイッチを使用していますが
プロジェクト共有の変数やスイッチと違って
シーンを移動すると使えなかったり等あるので
使う場合は、どこでどう使うかよく考えた方が良いですよ。

ご存じとは思いますが、一応念押しをと思いました。


拍手[2回]

PR
アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。

今回は、タイトル・セーブ・ロードをやるよー。ひえー!

セーブスロットは、沢山あった方がいいけど
とりあえず、選択肢枠と同じ3つで。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

タイトルとロード用のシーンをそれぞれ追加して
タイトルの方は、公式の講座をと選択肢表示を参考に作ってね。
セーブデータがある場合は、「つづきから」にカーソルが
移動するようにしておくと良い感じかな。
終わり。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

さて、どのスロットにセーブデータがあるかどうかを
どうやって取得するかですが・・・
果敢にもスロット選択に挑んだサンプルゲーム
Steel Sword Story」を参考にさせていただきましょう。
なんと7月にswitchでもリリースされるようですよ!
楽しみですね!!

はい、というわけでサンプルを拝見したわけですが。
まあとりあえず、「ファイルを確認」というスイッチで
セーブファイルの有無を判定できる、ってことがわかりました。
変数で、スロットナンバーを選択したら自動的にONOFF切り替わるそうな。

セーブ方法は1種類しかないけど、ロード方法はいくつかあります。
・セーブと同じく、ロードスイッチをって全部ロードする
・その他の実行アクションから、ロードを選ぶ
 ・全変数だけロード
 ・全スイッチだけロード
 ・セーブ時のシーンだけロード
 ・スイッチONと同じロード
なるほどなるど。
セーブ時の状態でロードしたいので、スイッチを使うことにしましょうか。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

では、ロードを実装していきます。
・ロード用の選択肢を表示。
・1~3のスロットにセーブデータがあるかを調べる。
・それによって変わる選択肢のテキストを設定。
・データがあるスロットが選択されたら、ロードスイッチをONにする。
・空のスロットが選択された場合を考慮する。
・キャンセルボタンでタイトルに戻るようにする。

注意する点としては
セーブデータがあるかどうかは、タイトルで調べておくことかな。
ロード用のシーンに代わってからだと、テキスト表示が遅れてしまいます。


まあ、ファイルがあるかないかだけで
スロット分けをやるなら、こんな感じですかね。

Steel Sword Story」さんを参考に、頑張ってみるのもよいかも。
具体的には、カーソルの当たったスロット番号のファイルを変数とスイッチだけ読み込んで
データを表示している感じですね。
いやあ、すごいです。

というわけでロード画面、終わり。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

次はセーブです。
出来ればいつでもセーブできたらいいですね。
とりあえず、セーブ画面の作成は後回しにして、セーブのテストをしてみましょう。
Xボタン(Dキー)を押すとセーブするオブジェクトを作ります。
テストプレイで、セーブを実行したら、5Fでタイトルへ戻り
ロードイベントがちゃんと動いてるか確かめてみます。
問題なさそうなので、セーブ画面の作成に移ります。

大体ロードと同じだけど、仕様を考えます。
・Xボタン(Dキー)を押すとセーブメニューが表示されるようにします。
・キャンセルボタンで、メニューを閉じます。
・データがある場合、上書きするかの確認をします。
・セーブが終わったらゲームに戻ります。

またしても、公式の講座を参考にしまくるぜー。
つーことで、メニューシーンにメニューを追加します。
ロード画面を作った要領で、セーブ画面を作ります。

セーブ後にメニューを終了するという考え方では、ちょっと難しいようなので
セーブを予約するスイッチを一つ作り、メニューを終了してからセーブすることにします。
セーブを実行するオブジェクトは、シナリオを管理するレイヤーと同じにします。
セーブしたいシーンが複数ある場合、シーンごとに1つ配置します。

上書き確認も、セーブメニュー用内でやってもいいけど
編集画面がうるさくなるので、今回は一つ増やしてみました。
メニューに配置したオブジェクトは、どのメニューに配置しても
一覧で表示されるので、わかりやすさはあまり変わりませんが。
別のメニューを重ねても、下のメニューも動くので注意。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

というわけで、今回のサンプルプロジェクトはこちら

お約束通り、一文字ずつ表示のサンプルも入っています。
わかりやすいように、メッセージウインドウは半透過のままに
してあります、自分で不透明に変更してみたり
アニメーションの速度を変更してみたりしてね。

そして、新しい課題もあります。
このままだと、残りのメッセージを表示したいだけなのに
OKボタンで、次のメッセージに進んでしまいます。
どうしたらいいと思いますか?
一つ方法を思いつきましたが、宿題にしてみます。
次回までに、色々試してみてくださいね!

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

さあ、これで最低限必要な機能が揃いましたね!
いかがでしょう?
普通にADV作れそうじゃないですか?

というわけで、次回は・・・
オマケのCG観覧メニューに挑みます!?

拍手[1回]

アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。

今回は、立ち絵や背景の表示をさくっとね。

選択肢同様に、別オブジェクトで管理するのがよさそうです。
メッセージ表示より後ろのレイヤーに配置するのがミソかなー。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

というわけで、今日の素材はこちらです。

立ち絵がしょぼいとか、わがまま言うんじゃありませんよ。
テスト用なんてこんなもんです!! ないよりましってことで。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

背景については、表示用のオブジェクトを作って
普通に画像の表示命令を使って、背景に表示させます。
表示状態を管理するための変数を一つ作っておくと良さそうです。
せっかくなのでフェードインとかさせたいですか、そうですか。
じゃあ、アニメーションに登録して、フェードインな感じにするとよいです。
終わり。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

ちなみに、暗転を表現したい場合は
シーンに画面効果を設定&削除を使って、画面を塗りつぶすと良いですよ。
メニューシーンにグラフィックを配置する方法ありますし、用途と好みによって
使い分けるといいと思います。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

立ち絵表示も似たようなものです。
表示位置を移動する程度なら、画像の表示で間に合うと思いますが
口パクアニメとかをするならアニメーション登録ですね。
キャラ毎に表示用の変数を作成しておくと良さそうです。

後は、メッセージ表示のオブジェクトから
変数を操作すれば、いー感じにできるんじゃなかろーか。
終わり。

え? スクショ? 前回と同じだから割愛で。

今回のサンプルプロジェクトは、こちらからどうぞ。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

レイヤーについて補足

レイヤーの表示順は、メニューシーンが一番上で
次いでレイヤー1、2,3・・・と続きます。
レイヤーの名前は変えられるし、順序も入れ替えられるので
最初からあんまり考えなくてもいいと思います。
(ただし、メニューシーンを追加する場合は
 後から順番を変えると、呼び出し命令で指定したメニューが
 変わってしまうので注意)

私の考えるADVシステム用の最適のレイヤー順は
予備枠、文章、予備枠、キャラ、背景です。

同じレイヤーにあるオブジェクト同士の表示順は
オブジェクトの配置時に指定できます。
ので、全部同じレイヤーに置いても、表示順で困ることはないと思いますが
レイヤーを分けるには、他にも理由があるのです。
それについては、別件にて。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


次回は、いよいよタイトル画面とセーブとロードです。
ドキドキ。
例によって、公式の講座を参考にさせていただきます。

ところで、テキストを一文字ずつ表示したいとか思います?
若干力業ですが、表示した文字の上のレイヤーに目隠しを表示し
テキスト表示後、一文字ずつ開けていくアニメにするとかですかね。
メッセージウインドウが不透過の場合に限りますが。
とりあえず、次回はこれも実装してみますね。

拍手[0回]

アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。

今回は、選択肢表示をやってみましょう。
公式の講座を参考に作ります。

メニュー用くらいなら、選択肢の数だけ画像作るのもありだけど
選択肢がゲーム性なADVで選択肢の数だけ画像作るっていうのは
なかなか大変そうだ。
選択肢のウインドウだけ画像で作って、内容はテキスト表示にしようと思います。

とはいえ、選択肢が2つの場合、3つの場合・・・と選択肢の数ごとに
画像は必要かなって思います。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

今回は、選択肢3つで作ってみるということで、ウインドウ画像を作ります。

選択肢用のオブジェクトは、公式の講座を参考に作成してください。
カーソル用のオブジェクトも、公式の講座を参考に作成してください。
まーるなげっ! まーるなげっ! 私が説明するよりわかりやすいから!!

一つだけ、上記素材を使った場合、接続点は左上になります。
ご注意ください。

今更ですが、メッセージウインドウ上に表示する「入力待ちアイコン」も
この方法が有効かもしれませんね。
まあ、都合に合わせてお選びくださいということで。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

出来上がった選択肢オブジェクトに、機能を追加していきます。

まず、待機アクションを新しく作成して、初期アクションに設定。
呼び出された時だけ表示するように変更します。

選択肢の為に、素材の変数を2つ追加。
「起動する選択肢の番号」と「選んだ選択肢の番号」

待機アクションから、初期アクションだった選択肢へ
「起動する選択肢の番号」が1だったらリンク。

選択肢1を表示中に、OKが押されたらリンクするアクションを作成。
「選んだ選択肢の番号」に1を入れて、「起動する選択肢の番号」を初期化
して、待機に戻る。

他の選択肢も、同様に作成して「選んだ選択肢の番号」を変更。
選択肢のオブジェクトは以上。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

いよいよ、前回作ったメッセージ表示用のオブジェクト
選択肢表示をねじ込んでいきます。

セリフ用のアクションを一つコピペします。
テキストの表示内容を、質問内容に変更します。
入力待ちアイコン表示用のスイッチをOFFります。
選択肢表示オブジェクトに対して、「オブジェクトをロック」します。
ウェイトを0.01秒入れます。
(テキストの表示とオブジェクトの状態変化の速度が違うので調整する)
ロックしたオブジェクトに選択肢のテキストを表示します。
以下、セリフ用テキスト設定との相違点です。
 ・行間を少し開ける(枠の分だけ行間を開けないといけない)
 ・テキスト表示領域を選択肢ウインドウの大きさと同じに
 ・余白上下も調整
 ・メッセージ水平方向揃えで、センタリング
 ・ロックしたオブジェクトの中心
  (ウインドウの大きさをオブジェクトの大きさに合わせたので調整はいらない)
テキスト表示命令が終わったら、ロックを解除しておきます。

次に、選択肢の1番が選ばれた時のアクションを作ります。
選択肢表示アクションからのリンク条件は、「選んだ選択肢の番号」が1の時。
アクションの内容は、とりあえず最初のセリフを表示することにします。
ので、最初のセリフを表示するアクションをコピペ。
「選んだ選択肢の番号」を初期化する命令を追加。

他の選択肢の場合も同様に追加して、最後は消去にリンク。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

というわけで、完成したのがこちら。

わーい、これでもう完璧にゲームやで!!
例によって、背景とキャラはRPGツクールMZ標準素材を拝借。
©Gotcha Gotcha Games Inc./YOJI OJIMA 2020

今回のサンプルプロジェクトはこちらからどうぞ。

次回は、立ち絵や背景の表示ですね。
もはや説明が必要だろうか?
な感じですけれど、まあ一応やりますよ。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

☆オマケ☆
1画面より広いフィールドを歩き回るタイプのゲームの場合
メッセージ表示同様、メニューに配置するのが楽ちんなんですが
例えばプレイヤーが必ず画面の中心に表示されるようなマップの作り方をすれば
プレイヤーの位置を基準に表示する、というのもありかもしれません。
ただどちらの場合も、プレイヤーを表示するレイヤーと
メッセージを表示するレイヤーは別々にした方が良いと思われます。


拍手[2回]

アクションゲームツクールMV」©2018 KADOKAWA CORPORATION.
その名の通り、アクションゲームを作るツールで
ノンフィールドADVを作ってみるわけです、はい。

前回(初回)、おおよそのシステムを考え、プロジェクトを新規作成しました。
今回はメッセージ表示を作ります。

用意するもの
・メッセージウインドウ
・入力待ちアイコン
・入力するテキスト

メッセージウインドウの大きさは
選んだフォントのサイズや、表示したいメッセージの行数によります。
高さは1/3の120くらいが適当かなあ・・・

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

簡単に作成してみたので、テストにご利用ください。

メッセージウインドウは、テキスト表示の時に呼び出すだけなので
アニメーションに登録しなくてもいーけど
入力待ちアイコンは、オブジェクトで表示するから、登録してね。

では、テキスト素材を入力していこう。
テキストと言えば、タグが使えるのはご存じだろうか。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

\C[#FF0000]文字色を変えるタグ\C[]

\S[+4]サイズを変えるタグ\S[]

\V[0,変数名] 変数を表示するタグ

(オブジェクトの変数を呼ぶ場合は、0をオブジェクトIDに)

\T[テキスト名] 別のテキストを表示するタグ

\O[1] オブジェクトの名前を表示するタグ

(オブジェクトIDで呼び出す)

\O[\V[0,プレイ人数]] 入れ子にもできる

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

等々、ヘルプにもばっちり記載されているので活用するのだ。だだだ。

フォントは途中で変更するのはそこそこ大変だったりしそうなので
本格的に作り始める前に、しっかり決めておいた方がいいかもしれないよ。
(フォントを変えること自体は、呼び出し元のフォント設定を変更すれば
 良いだけだけど、行間とかは・・・ね?)

2つくらいテキスト素材を作ったら、オブジェクトを作るよー。
オブジェクトの作成方法は、ヘルプとかチュートリアルを見てね。

ヘルプに載ってないけど、こういう制御文字も使えるよとか
知ってたら教えてねー!!

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

「その他の実行アクション」から「テキストを表示」を選択。
テキストを選択して、表示時間は制限なし、表示領域を設定
背景にメッセージウインドウを指定、余白も上下左右設定。
表示位置はオブジェクトの中心で、位置を調整する。

オブジェクトの中心がどこかわかるかな?
特にいじっていなければ、オブジェクトの左上だよ。

大体、表示領域の半分の数値を入れると良い感じ。
オブジェクトのアクションが切り替わったら表示終了にチェック。
同じく、表示位置を最前にチェック。
(背景やキャラクターとメッセージ表示のレイヤーが分かれている場合は
 特に指定する必要はないと思う)

アクションをコピペしてセリフを変更たら
OKボタンが押されたら次のアクションへ進むリンクを貼って繋ぐ。
同じ条件で相互にリンクすれば、ループするようになるはず。

シーンに配置して、テストしてみよう!
細かな位置調整をしたらとりあえずメッセージ表示はできたということで。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

ここまでは割と簡単だったね。
次は、入力待ちアイコンの表示に挑むぞ!

入力待ち中のスイッチを作って、オブジェクトを作るよ。
待機と表示のアクションを作って、スイッチのONOFFで相互リンク。
メッセージより上に表示したいから、メニューシーンの下部中央に設置。
(メッセージの表示位置を最前にしていなければ
 メッセージのオブジェクトより上のレイヤーならどれでもいいと思うけど)

メッセージ表示のオブジェクトを開き、最初のテキスト表示命令のところに
スイッチONを追加。
新しく、メッセージ消去用アクションを作成してリンク。
テキストをループさせていたリンクは消去。
メッセージ消去用のアクションから、キャンセルボタンで
最初のアクションにリンク。

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

これで、テストしてみよう!

いえーい、メッセージ表示できました!
アイコンもピコピコアニメしておるぜ!
なお、さみしかったので背景とキャラはRPGツクールMZ標準素材を拝借。
©Gotcha Gotcha Games Inc./YOJI OJIMA 2020

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

なんかもうゲーム出来た感あるよね。
もうこれで完成で良くない? 良くないですね。(しょぼん)

背景の表示や、立ち絵の表示は、テキストの表示ができれば
もはや説明するまでもないですね。

キャラクターは移動させたいとか、アニメさせたい場合は
入力待ちアイコンのように、スイッチや変数で制御すると良いよね。

ちなみに、アクションで画像を表示したままオブジェクトを移動させると
画像も一緒に移動するよ。
他のオブジェクトから、特定のオブジェクトを指定して動かすこともできるしね。

というわけで、今回はここまで!
ここまでのサンプルプロジェクトが欲しい方は、こちらからどうぞ!

次回は「選択肢の表示」だ!!
公式の講座を参考に作るよ!!

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

☆オマケ情報☆
フィールドが一画面より大きく、プレイヤーが自由に移動できる場合や
歩き回るキャラクターに話しかけて、テキストを表示する場合は
テキスト表示をメニューに配置して、プレイヤーのいる「レイヤーを停止」
すると良いと思われます。

拍手[4回]

広告枠
アクセス解析

ATOM  
ATOM 
RSS  
RSS 


ソフトウェア制作講座





Copyright ©   YUWAKA'S SOFT   All Rights Reserved
Design by MMIT / TemplateB3  Powered by NINJA TOOLS
忍者ブログ [PR]