バックグラウンド
現在、 Lua スクリプトでアプリケーションを制御できるように、LuaInterfaceを利用する XNA アプリケーションを作成しています。
私が欲しいもの
私の開発では、多くのことがおそらく「時間」に基づいていることに気付きました。そのようなものには、情報を表示してから x 秒後にそれを削除する、x 秒かかるとゲームを終了する、 x秒ごとにカメラを特定の距離だけ緩めるのに使用されることなどが含まれます。自分のアプリケーションではなく Lua で関数を実装したかったwait
のですが、この時点では入力を受け付けています (機能させることができないため)。
これまでに試したこと
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
Game
(私の XNA ゲーム オブジェクトはどこにありますか)
では、なぜ私のアイデアがうまくいかないのでしょうか?
Game.Tick()
現在の問題は、すべてを継続するために毎回呼び出しているにもかかわらず、アプリケーションの XNA 部分が入力の受信を停止することです。
だから、私の質問は、これを行うためのより良い方法はありますか? ユーザー入力で問題が発生するまでは、かなりうまく機能していると思いました。うまく機能するこのようなものを実装した人はいますか?