【ウディタ20回】主人公入れ替え機能を作った

お嬢様死ぬ ゲーム
スポンサーリンク

 さて。主要人物の素材も決まっていよいよゲーム二作目を作り始めますが。まず今回やりたいのは『主人公の入れ替え』です。別々のエリアにいる二人を入れ替えながら謎を解く形にする予定です。

 例えば使用人がスイッチを踏んだらお嬢様の部屋の宝箱が開きます。みたいな。これで謎が一つ作れますやったね。

 しかしコレ。今思ったんですが。アクションを起こしてもどこで何が起こったのか分かりにくいので難易度が上がりそうです。簡単な謎でも難しくなる。だから謎は少なめで行こうと思います。目標6個。あと理不尽な即死を10個ぐらい。

主人公入替作った

 ということで出来ました。メニューの『主人公入替』で入れ替わります。お嬢様は地下にいて一階にいる使用人と切り替わります。

 イベント中に切り替わると面倒なことになるので、右上に『〇』がついているときだけ入替可能です。

 ホントはサブキー一発で入れ替えたかったんですが出来ませんでした。出来ない理由を簡単に言うと『メニューを開いているときにサブキー無効』が出来なかったから。

 それをやるにはメニュー処理の改造が必要です。だから出来ないことはないです。でも今回はやりません。

入替処理

 長いから文章だけで説明します。画像を貼っていたらこの記事を書くのに2時間かかる。日記は30分以内で終わらせたい。それでも一時間かかっています。

 まず相手の位置を変数で持っておきます。マップIDと座標と向きです。あと入替可能フラグも必要です。

 そして呼び出しのみのコモンイベントで『現在の主人公の位置を一旦セルフIDに格納』『変数に取ってある相手の位置に移動、キャラ入替』『一旦格納した位置を変数にセット』です。

 そのコモンを『ユーザーデータベース』の『システム設定』でメニューに追加します。

メニュー閉じる

 あと入替と同時にメニューを閉じたいので閉じます。さもないと相手の顔が出てるまま後ろだけ変わってしまいます。

 DB操作で『可変DB書き込み』の『基本システム用変数』の『メニュー消去フラグ』を『1』にすれば閉じます。

 ちなみにサブキーでやったときにコレをやってもメニューが閉じませんでした。メニューから呼ばれたときしか機能しないようです。

入替可能フラグ

 あと入替可能フラグも見ないといけませんでした。コモンの最初に禁止中なら処理終了を入れます。

 マップ移動やイベント開始でこのフラグをいちいち変えるので大変です。

アイテム入替

 あとアイテムも全部入れ替えです。アイテムの数だけ『このアイテムどっちが持ってる?フラグ』を変数に追加です。

 そしてキャラ切り替え時に全部のアイテムを一旦捨てて持っているキャラなら持たせます。

 ちなみにアイテムとフラグを順番に並べて置けばループで行けそうな気がするのですがなんかダメくさいです。変数に変数呼び出し番号が入れられないから変数呼び出し番号を増やしながらループできません。全アイテム分『捨てて拾う処理』を書かなきゃダメですね。

 と言ったところで完成です。これで今回追加の新機能が出来たのでいよいよゲームを作ります。あとは調べることもないでしょう。次の報告は1月後かな。途中で『1/3ぐらい出来た!』とか言うかもしれない。終わり。

コメント

タイトルとURLをコピーしました