はじめに
「MoonSharp」はUnityでLuaを使用できるようにするアセットです
公式サイト
検証環境
- MoonSharp:1.5.0.1
- Unity:5.2.3p3
- Xcode:6.2.3
- Android:5.0.1
- iOS:8.2
導入方法
- 「http://www.moonsharp.org/」を開く
- 「Zip file」を選択して「moonsharp_release_1.5.0.1.zip」をDLする
- 「moonsharp_release_1.5.0.1.zip」を展開する
- Unityプロジェクトに「Plugins」フォルダを用意する
- 「Plugins」フォルダに「interpreter/net35」フォルダを追加する
実装方法
次のようなスクリプトを作成します
using MoonSharp.Interpreter; using UnityEngine; public class Example : MonoBehaviour { private void OnGUI() { GUILayout.Label( MoonSharpFactorial().ToString() ); } private double MoonSharpFactorial() { var script = @" -- defines a factorial function function fact (n) if (n == 0) then return 1 else return n*fact(n - 1) end end return fact(5)"; var res = Script.RunString( script ); return res.Number; } }
そして、作成したスクリプトをゲームオブジェクトにアタッチしてから
ゲームを実行して、ゲーム画面に「120」と表示されることを確認します
これで、Unityエディタ上でLuaが使用できることが確認できます
Android、iOSでも動作するようです