【Defold】collectionproxy で load した Collection のユーザー入力を受け付ける

Defold, DEVELOP

main.collection から collectionproxy を使って sub の collection を load した場合、そのままではユーザー入力を受け付けない。on_inputによるユーザー入力を受け付けるためには acquire_input_focus メッセージを投げる必要があります。

main.collection側のスクリプト

SUB コレクションをロードします。

local SUB = msg.url("main:/collections#title_proxy")
function init(self)
	msg.post(SUB, "load")
end

sub.collection側のスクリプト

サブのコレクションから acquire_input_focus を投げて on_input によるユーザー入力を受け付けます。

local SUB = msg.url("main:/collections#sub_proxy")
function init(self)
	msg.post(SUB, "acquire_input_focus")
end
function on_input(self, action_id, action)
	if action_id == hash("touch") and action.pressed then
		print("sub.Touch!")
	end
end

これでサブのコレクションのユーザー入力が有効になります。

Posted by kazupon