見出し画像

終了時の処理を簡単に追加しよう~Godot Engine v3.5

Godotで制作しているとゲームを終了時にセーブデータの自動保存などをしたくなってきますよね。
今回はそれを簡単に実現できるシグナルがあるので、それを使いましょう!

# 終了時の処理
func _notification(what):
	# もしゲームが終了(ウィンドウの右上のXを押下したか、Alt+F4など)で終了した場合
	if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST:
		# ↓ここを好きな処理に置き換え
		print("Quit")

今回使用する元々Godot側で用意されている _notification 関数の中で、終了時に送られてくるシグナルの MainLoop.NOTIFICATION_WM_QUIT_REQUEST を判定し処理を行います。
このシグナルはすべてのスクリプトに対して送られるため、スクリプトファイルのどの部分に記述しても大丈夫です。

今回の例では、コンソールに"Quit"と表示されるだけですが、この部分を自動保存の処理などにするとゲームを終了すれば自動的にセーブを行ってくれます。

ちなみにエディタ側の■で停止した場合はタスクキルしたのと同じになるため終了時の処理はされませんのであしからず。

この記事が気に入ったらサポートをしてみませんか?