VisualStudioでXamarin+MonoGameを使ったWindowsとAndroid向けのLuaスクリプトの導入方法をまとめます。
MonoGameでなくても利用可能です(自分がMonoGame環境なだけ)
過去記事で作成した共有プロジェクトを元に話を進めます。
NLuaを利用します。
NLuaをダウンロードしてくる
- NLuaの公式サイトにアクセスします。
- 以下赤枠部分をクリックしてWindows用とAndroid用のDLLをダウンロードします。
- Windowsが64bitでもWin32をダウンロードしてください。
- DropBoxのサイトに飛ばされるので「ダウンロード」をクリックします。
※クリックで拡大
DLLを実行フォルダにコピーする
Windows
- ダウンロードした「NLua.Win32」を解凍します。
- 解凍したファイル内の「net45」フォルダにある3つのファイルを以下フォルダにコピーします。
- SharedProject1/Game1/lib/
- フォルダがない場合は作成してください。
Android
- ダウンロードした「NLua.Android」を解凍します。
- 解凍したファイル内の2つのファイルを以下フォルダにコピーします。
- SharedProject1/Game2/lib/
- フォルダがない場合は作成してください。
プロジェクトに参照を追加する
Windows
- [ソリューションエクスプローラー]から[Game1]プロジェクトの[参照]を右クリックします。
- [参照の追加(R)]をクリックすると[参照マネージャー]が開きます。
- [参照マネージャー]の左側メニューから[参照]をクリックして、右下の[参照]をクリックします。
- さきほどファイルをコピーした以下フォルダに移動して[NLua.dll]を選択して[追加]をクリックします。
- SharedProject1/Game1/lib/
追加されました。
Android
AndroidもWindowsと同じ手順です。
ファイルだけ違うので注意してください。
Androidで追加する参照は[SharedProject1/Game2/lib/]の[NLua.Android.dll]です。
実際の使い方
あとはコーディングしていくだけです。
詳しい使い方は他のサイト様でも資料は多いので割愛・・!
Lua lua = new Lua();
lua.DoFile( "hogehoge.lua" );
Windowsで[lua52.dll]が見つからないといわれる
NLua.dllは参照を追加したので、実行フォルダに勝手にコピーされるのですが
[lua52.dll]だけは参照には追加できないためコピーがされません。
以下のフォルダに[lib]フォルダにある[lua52.dll]をコピーしてあげてください。
SharedProject1Game1inWindowsx86Debug
「ビルド後イベント」等で自動的にコピーするようにしておくと良いです。