我已经加载了一个集合代理,但是我没有收到代理内部脚本的输入,即使我有关于loader对象的输入焦点。我也没有收到关于加载器对象的输入。
这是加载代理的脚本:
function init(self)
msg.post(".", "acquire_input_focus")
msg.post("/game#level1", "load")
end
function on_message(self, message_id, message, sender)
if message_id == hash("proxy_loaded") then
msg.post(sender, "enable")
end
end
这是代理中对象的脚本:
function init(self)
msg.post(".", "acquire_input_focus")
end
答案 0 :(得分:3)
这是一个非常常见的陷阱。输入和代理的工作方式如下:每个代理加载的集合都有自己的输入堆栈。输入从主集合输入堆栈通过代理组件路由到集合中的对象。这意味着加载集合中的游戏对象获取输入焦点是不够的,持有代理组件的游戏对象也需要获取输入焦点。有关详细信息,请参阅Input documentation。