ESCキーを押してダイアログ表示無しでゲームを終了

519 views
Skip to first unread message

kaisuz...@gmail.com

unread,
Sep 12, 2018, 8:52:58 AM9/12/18
to 宴ユーザーグループ
Unityおよびプログラム初心者の学生です
宴のバージョンは3.1.5
UnityのバージョンとOSは、Unity2017.4.8f1 Windowsです

質問のタイトルの通りなのですが、
ダイアログ表示無しでESCキーを押してすぐにゲームを終了するにはどうすればいいでしょうか?

マッドネスラボ

unread,
Sep 12, 2018, 9:40:48 AM9/12/18
to 宴ユーザーグループ
ESCキーによるダイアログ表示は、簡易的に作ったシステム系UI表示のオブジェクトが制御しています。
Canvas-SystemUIオブジェクトの「Is Enable Input Escape」をオフにすればESCキー入力終了ダイアログ表示は無効化されます。


Unity_2017_4_4f1__64bit__-_Template_unity_-_Utage3B_-_PC__Mac___Linux_Standalone__OpenGL_4_1_.png



あとはご自分で「Escapeキーが入力されたら終了する」というプログラムを書けばよいかと思います。
こんな感じのプログラムでできるかと思います。

        void Update()
        {
                if (Input.GetKeyDown(KeyCode.Escape))
                {
              Application.Quit();
                }
        }

Message has been deleted

kaisuz...@gmail.com

unread,
Sep 12, 2018, 1:04:40 PM9/12/18
to 宴ユーザーグループ
お返事していただきありがとうございます。

ダイアログの非表示は問題なくできました。
続いて、Escapeキーによる強制終了のスクリプトなのですが、
一度、SystemUi.csの181行目にあるOnOpenDialogExitGame()という関数を呼び出すキーをESCキーから別のキーに変えてから、Escapeキーによる強制終了のスクリプトを空のオブジェクトにアタッチしました。
回りくどいやりかたかもしれませんが、これで強制終了の機能を果たすことができました。

お教えしていただき、大変勉強になりました。
ありがとうございました。
Reply all
Reply to author
Forward
0 new messages