LuaInterfaceを(Lua経由で)利用してアプリケーション自体の多くの側面を制御するXNAアプリケーションを作成しました。
KeyboardState
XNAクラス(具体的にはオブジェクト)に拡張機能を追加しました。問題は、Luaで拡張関数を呼び出すと、エラーが発生すること です。フィールド「KeyDown」(userdata値)を呼び出そうとしました。
これが私のLuaスクリプトです:
Game.Updated:Add(function(t)
if Players.LocalPlayer.Controller.KeyboardState:KeyDown(KeyboardKey.W) then
print("W key down")
end
end)
そして、これがクラスを拡張する私のモジュールです:
Imports System.Runtime.CompilerServices
Module XNAExtensions
<Extension()> _
Public Function KeyDown(ByVal this As Microsoft.Xna.Framework.Input.KeyboardState, ByVal e As Integer) As Boolean
Return this.IsKeyDown(e)
End Function
End Module
私は何が間違っているのですか?