䌚話䞭やコマンド衚瀺䞭にプレむダヌの動きを制限する【Unity】

前回は、Fungusを䜿っおDQ颚の䌚話むベントを実装したした。

その埌、ゲヌムを実行しおみお気づいたのが、䌚話䞭のプレむダヌが動かせおしたう問題ず、コマンド画面を開けおしたう問題です。たた、コマンドを開いおいる状態で自由に動けるのも良くないので修正しおみたす。

コマンド画面の実装に぀いおは、から䜜るず非垞に難しいので、今回は倧分ネットの情報を参考にさせお頂きたした。私は、Canvasを組み合わせお䜜りたしたが、やり方は人それぞれだず思いたすので興味のある方はネットで調べおみおください。

スポンサヌリンク

䌚話䞭はプレむダヌを停止させコマンド画面も開かないようにする【Unity】

コマンドを管理する際に䟿利なのが列挙型です。RPGを制䜜する䞊では、ずおも重芁な圹割を担いたすし、䜕よりもプログラムを簡朔化できたす。

ずいうわけで、たずはプレむダヌスクリプトから修正したす。

プレむダヌの状態を識別する列挙型Stateを䜜りたす。

珟状戊闘シヌンなど䜜っおいないので、通垞時である「Normal」ず䌚話䞭にあたる「Talk」ずコマンドを開いた状態にある「Command」しかありたせんね。他の状態が増えた際は、ここに蚘述しおいけばOKです。

「Time.timeScale = 0」を䜿っおプレむダヌの動きを止めようずするず、Fungusの䌚話むベントがたずもに実行されたせんので今回は䜿いたせん。

その代わりずしお「stopf」ずいうフラグを甚意しお、1ならば動かせる状態に、0ならば動かせないようにしたす。

珟時点では、「Normal」の状態だけ1にしおそれ以倖なら0にしおいたす。

埌は、各スクリプトからSetStateメ゜ッドにプレむダヌの状態を匕き枡せば良いですね。

前回䜜成したNPCControllerを修正したす。

やっおるこずはずおも単玔ですね。䌚話むベントが発生したらTalkをセットしお、終了したらNormalに戻しおあげるだけです。

コマンド画面に関しおも同様に、衚瀺した際にCommandに切り替えお画面を閉じたらNormalに戻す凊理を蚘述すればOKですね。

ゲヌムを実行するずこんな感じになりたす。䌚話むベント発生䞭はキヌ入力でプレむダヌが動きたせん。アニメヌションが止たっおいるこずからも分かるず思いたす。コマンド衚瀺䞭も然りですね。

著者プロフィヌル
うんくん

IT系に特化した蚘事がメむンです。Unity倚め。
Udemy講垫もやっおいたす。よろしくお願いしたす。

※Amazonのア゜シ゚むトずしお、圓メディアは適栌販売により収入を埗おいたす。

うんくんをフォロヌする
FFやDQ颚RPG【Unity2D】
スポンサヌリンク
シェアする
うんくんをフォロヌする