私の最初のアドバイスは、LUAInterfaceを使用しないことです。これはクロスプラットフォームではないため、代わりにIronPythonを使用することもできます。これは、LUAとしてピックアップするのと同じくらい簡単で、ゲームの作成方法に応じてWindowsとOSXで実行されます。 XNAとOpenTKは、グラフィックエンジンのモノラルでクロスプラットフォームで動作するはずです。
私自身のvb.netベースのゲームでLUAを使い果たし、最終的には鉄のpythonを決めたとき、私はこれを見つけました。
しかし、あなたはLUAを使いたいと仮定します。ここで試すことができるものがあります。 Luaのから
Public Shared Lua as New LuaInterface
Sub Game()
Dim LuaCaller as New LuaAccess
Lua("LuaAccess") = LuaCaller
End Sub
Public Class LuaAccess
Public Sub Grant(NewClass as String, Variable as String)
Select Case NewClass
Case "LuaAccess"
Lua(Variable) = New LuaAccess
End Sub
End Class
その後:
あなたが知っているという事実に基づいて: 書き込まれたvb.netコードが実行時間の後に変更することはできません、あなたはこのような何かを行うことができます
LuaAccess:Grant("LuaAccess", "MyNewLuaAccess")
インスタンスを作成できるようにするクラスごとに新しいケースを追加することができます。それを使用してクラスの新しいインスタンスを作成します。 あなたはちょうど潜水艦、または変数を作成し、メインプログラムで使用されるアクティブなクラスを変更することができるようにしたい、またはクラスの両方が変数のコピーは1つだけありそうすれ
Public Shared MyVar as Integer
を共有している場合これはアプリケーションのどの部分(ルアを含む)でも変更可能です。
私は正直なところだろうが、IronPythonのは本当にこの種のものに適しており、まだ積極的にLuaInterfaceとは違って、開発されています。
1つのことを覚えておいてください。スクリプティングに関して言えば、スクリプトエンジンにあまりにも多くの制御を与えたくないのです。特にゲームになると、エンジンにできるすべてのものにアクセスできるようになります。あなたが慎重でない場合は、それは不正行為に使用することができます。
幸運にも、私は助けてくれることを願っています。 LuaInterfaceランタイムv2.0.50727の (Lua51.dllを使用しています1)
に基づいて
は、あなたがドキュメントを読むことがありますか? www.lua.inf.puc-rio.br/luanet/luainterface/luainterface.pdf。 'userdata' Luaタイプについて読む –