【Defold】入る時、出る時に当たり判定を検知する

DEVELOP

Unity Engine で例える OnTriggerEnter, OnTriggerExit に相当するものがDefold にもあります。それは trigger_response です。

目次

公式リファレンス

Trigger

サンプルコード

collisionobject を付けたGameObject に以下の様なコードを記述します。

function on_message(self, message_id, message, sender)
 
	if message_id == hash("trigger_response") then
		if message.enter == true then
			print("trigger enter")
		else
			print("trigger exit")
		end
	end
end

message.enter プロパティはコリジョンの領域へ入る時に true になり、出ていく時に false がになります。これで入った瞬間、出ていく瞬間を検知できます。

気を付ける事

collisionobject のType を [Trigger] へ設定する必要があります。

Type を Trigger へ設定しておかないと、trigger_response メッセージが飛んできませんので注意しましょう。

Posted by kazupon