はじめに
xLua は C# ( Unity、.Net、Mono ) で Lua を使用できるようにするアセットで、
Android、iOS、Windows、Linux、OSX などをサポートしており
GitHub からダウンロードして使用することができます
今回は xLua の基本的な使い方を軽く紹介していきます
Hello world
// Example.cs using UnityEngine; using XLua; public class Example : MonoBehaviour { private void Awake() { var luaenv = new LuaEnv(); luaenv.DoString( "CS.UnityEngine.Debug.Log( 'ピカチュウ' )" ); luaenv.Dispose(); } }
LuaEnv クラスのインスタンスを生成することで Lua のプログラムを操作します
DoString 関数に Lua のプログラムを表す文字列を渡すと Lua のコードを実行できます
Lua の実行が完了したら Dispose 関数を実行して破棄します
Resources フォルダから Lua スクリプトを読み込む
-- example.lua.txt CS.UnityEngine.Debug.Log( 'hello world' )
// Example.cs using UnityEngine; using XLua; public class Example : MonoBehaviour { private void Awake() { var luaenv = new LuaEnv(); luaenv.DoString( "require 'example'" ); luaenv.Dispose(); } }
あらかじめ Lua のスクリプトを Resources フォルダに入れておき、
DoString 関数で require '【Lua スクリプトのファイル名(拡張子なし)】'
を指定すると
Resources フォルダから Lua スクリプトを読み込んで実行できます
変数に設定した Lua スクリプトを読み込む
-- example.lua.txt CS.UnityEngine.Debug.Log( 'hello world' )
// Example.cs using UnityEngine; using XLua; public class Example : MonoBehaviour { public TextAsset m_luaScript; private void Awake() { var luaenv = new LuaEnv(); luaenv.DoString( m_luaScript.text ); luaenv.Dispose(); } }
TextAsset を格納できる public 変数に Lua スクリプトを設定して
DoString 関数に text を渡すことでも Lua スクリプトを実行できます