ulua使用總結
1. luastate類:
對luainte***ce中的
lua進行了封裝。
相當於於lua的解析器
和lua使用一樣,在使用之前需要建立乙個物件。
從而通過這個lua物件去執行
lua的**。
如下:
luastate呼叫
lua是使用的反射技術
,它是把要在
lua中使用的
c#類通過反射做到
可以在lua中呼叫。
所以在lua中使用
c#的時候需要做一些匯入程式集和匯入類的操作。
如下:
2. luascriptmgr類:
是對luastate的再一次封裝。
它對一些東西進行了處理,使用luascriptmgr處理
lua會更加的方便。
使用之前也需要建立乙個該物件,並且呼叫lua.start()做一些初始化的操作。
包含三個重要函式:
dofile:載入
lua檔案到
lua虛擬機器。
dostring:載入
lua**進入
lua虛擬機器。
callluafunction:呼叫
lua的函式。
luascriptmgr呼叫
lua是使用的非反射技術,它把反射給去掉了,
使用非反射呼叫lua執行會更快。
怎麼去掉的呢?
是通過wrap包裝檔案把在
lua中要使用的
c#類預先註冊到
lua虛擬機器中,
然後通過這種方式也可以在lua中進行對
c#的方法的一些呼叫。
下面是乙個使用luascriptmgr例子:
3. 用c#使用
string
代表lua
指令碼的話用
@符號開頭,避免字元出錯
4. luafunction func= getluafuction(「lua中的方法名」) 得到
lua中的方法物件
5. func.call(傳值
) 呼叫該方法,並且可以往裡面傳值
6. 因為lua中是支援多返回值的,所以我們可以定義乙個
object
陣列用來接收該方法的返回值。比如:
object objs=func.call(123)
ULua使用方法
剛接觸ulua,使用方法在此備份 如果luabundlemodel置為false,則lua 會時時更新。此外,修改c 一定不要忘了執行選單lua clear wrap files,然後重新生成gen wrap binder using unityengine using system.collect...
C Light 和 uLua的對比第二彈
上次的對比大家還有印象否,c light和ulua對比各有勝負 今天我們加入乙個去反射優化,這是ulua沒辦法實現的優化,我們也就只能不要臉的勝之不武了 以原生執行同一測試時間為x1,數字越小的越快 專案ulua c light c light 去反射優化 效能測試一 x4.5 x4.5 x2.19...
ulua 在lua中使用Update定時器
首先介紹一下我現在在做的專案,使用unity引擎,luaframework框架,用lua指令碼實現ui上的邏輯。我負責專案中的所有ui,在開發的過程中遇到很多定時器的需求,之前偷懶沒去研究應該怎麼做,就在c 指令碼的update方法中呼叫lua指令碼的某個函式來達到目的。後來專案中需要加上心跳包這個...