tolua的一些用法

原文:https://www.cnblogs.com/CasualAttachment/p/7309368.html

 

3.     模擬協程:

coroutine.step(幀數,句柄,爲等待結束繼續執行時所需要的參數) 後兩個參數可以沒有

coroutine.yield() 掛起協程

step可以設定幀數。yield直接掛起協程,只有coroutine.resume() 可以重啓協程

例子:這裏要注意了,一定要用點來寫方法。如果用冒號會自動調用!

 

 

4.     如何調用一些lua裏沒有的類的方法:

(1)     在項目中查找CustomSetting.cs文件,進入找到一個函數

 

(2)     把你要使用的類註冊到這裏

 

(3)     清空並重新generatorAll一下生成warp文件。

(4)     在lua中進行調用new()構造函數,或是addcomponent添加組件以獲取實例!

 

在tolua-lua-unityEngine文件夾下已經封裝好了一些unity中常用的值類型,可以不用包裝就拿來使用。同樣可以自定義一些功能類進行包裝後在lua內使用。

 

5.     關於一些方法的使用:(待補充)

(1)GetComponent方法,傳入的是string類型的參數。

 

(2)表的遍歷:

 

(3)表的注意事項:

        在使用任何表內數據的時候都要table.data進行調用,否則就是比對字符串,要加上雙引號””  如下面的id就要加上引號,因爲前面沒有加表名!

 

表在聲明的同時賦值只能聲明一層空間。如

        Table={}

        Table[”1”][“2”]=2  會報錯。

 

        Table={{},{}}

        Table[”1”][“2”]=2   編譯通過並能正常賦值。

 

 

commonfuc  裏面存放了lua方法的API。

通過generateAll把對應C#文件生成爲wrap文件前,需要在CustomSetting裏進行註冊

 

(4)在lua裏怎麼去掉字符串的括號:

使用gsub函數,三個參數分別是:要編輯的字符串,被替換的字符,替換後的字符

其中括號要用中括號括上才能去掉,不然去不掉。(不能使用[(Clone)]會亂碼)

 

(5)在lua中使用二維數組:

 

(6)生成隨機數:math.random(x,y)  math.abs求絕對值

(7)可變參數:Lua將函數的參數放在一個叫arg的表中

(8)#操作符,用來獲取表中最大的鍵值,只對連續鍵值有效

       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章