2014年5月24日土曜日

メモ:UnityをLuaで制御するその2

今回は、Unity のAsset Storeにある「Unity Lua interface Library」で制御してみる。
ちなみに、このアセットは無料でダウンロードできます。


※2014.12.24追記 Unity4.6でも動作確認しました。
今回の環境は
エディタ:Mono
Luaのスクリプトパス: C:\Lua\test\sample.lua

1.環境を整える
Unity Lua interface Libraryをダウンロードして、
Asset内にある、luanet.dllをPluginsフォルダに入れる。
同じくAsset内にあるlua51.dllをWindows直下に入れる。
以上。

2.Unity内のコードでは、下記のようにサンプルとして書いておく。

using UnityEngine;
using System.Collections;
using LuaInterface;//Luainterfaceを読み込む
public class test : MonoBehaviour {
    // Use this for initialization
    void Start () {
        Lua lua = new Lua();//初期化
        lua.DoFile("C:\\Lua\\test\\sample.lua");//スクリプトファイルを読み込む
        LuaFunction func = lua.GetFunction("lua_Func");//luaスクリプト内の関数を読み込む
        Debug.Log(lua["text"]);//luaスクリプト内の変数を読み込むデバッグへ出力
        Debug.Log(func.Call(0)[0]);//luaスクリプト内の関数内の戻り値をデバッグへ出力
 }

}

luaスクリプトファイル内は下記のように書いてみた。


function lua_Func()
local text = "Hello!"
return text;
end

text = "Lua sample project"

3.実行してみる
これで実行してみる



できた!!

今回は文字列もいけました。

0 件のコメント:

コメントを投稿