背景
我目前正在创建一个利用LuaInterface的 XNA 应用程序,以便我可以使用Lua 脚本控制该应用程序。
我想要的是
我注意到在我的开发过程中,很多事情可能都是“时间”。这样的事情可能包括显示信息,然后在 x 秒后将其删除,如果需要 x 秒,则以失败结束游戏,或者甚至用于每 x 秒使相机移动一定距离。我想wait
在 Lua 中实现这个功能,而不是我的应用程序,但是在这一点上,我可以输入(因为我似乎无法让它工作)。
到目前为止我尝试过的
inv.lua
_G.Wait=(function(t)
local dest=Time.ElapsedMilliseconds+t*1000
while Time.ElapsedMilliseconds<dest do
gel:UIUpdate()
end
return true
end)
--Aliases
_G.wait=Wait
gELua.vb
Public Sub UIUpdate()
Application.DoEvents()
Game.Tick()
End Sub
(我的 XNA 游戏对象在哪里Game
)
那么为什么我的想法行不通呢?
当前的问题是,即使我Game.Tick()
每次都调用以保持一切正常,但我的应用程序的 XNA 部分停止接收输入。
所以,我的问题是,有没有更好的方法来做到这一点?在遇到用户输入问题之前,我认为它运行良好。你们中的任何人都实施了这样的运作良好的东西吗?