剛接觸ulua,使用方法在此備份
如果luabundlemodel置為false,則lua**會時時更新。
此外,修改c#**,一定不要忘了執行選單lua->clear wrap files,然後重新生成gen wrap + binder
using unityengine;
using system.collections;
public class myhelloworld : singleton
public void showtext()
}
確定邏輯無誤後,註冊c#類,開啟"customsettings.cs",註冊我們的類。"_gt(typeof(myhelloworld)),"。最後,執行上面第2步的lua->clear wrap files,gen wrap + binder。此時,會生成乙個叫myhelloworldwrap.cs的檔案,在assets\luaframework\tolua\source\generate目錄下,其實所有在customsettings中註冊的c#類都會生成wrap檔案,儲存在該目錄下。
為了方便,我們直接在demo中給的main.lua中呼叫我們自己的c#**。
--主入口函式。從這裡開始lua邏輯
function main()
print("*************************=")
myhelloworld.init()
print("++++++++++++++++++++++++++")
endfunction start()
print("1111111")
myhelloworld.instance:showtext()
endfunction showtext()
print("22222222")
print("what the ****ing?")
end--場景切換通知
function onlevelwasloaded(level)
time.timesincelevelload = 0
end
這段**顯示如果呼叫c#裡的靜態和非靜態方法。為了便於呼叫,我網上找了個通用的單例類,會在後面貼出來。
靜態方法:靜態方法非常方便,直接用點操作符"."取到對應的方法即可。
同樣為了簡化操作。我們借用demo給出的luaframework類裡面的startmain()方法
void startmain()
func.call();
func.dispose();
func = null;
luafunction func23 = lua.getfunction("showtext");
if (func23 == null)
debug.log("臥槽**********====");
func23.call();
func23.dispose();
func23 = null;
}
首先取到luastate,然後start它,因為我們用的是已經初始化的luastate,所以省略了start。
可以看到,方法都順利的呼叫到了。
singleton類
using system;
public class singletonwhere t : class, new()
return singleton._instance;
} }static singleton()
public static void createinstance() }
public static void destroyinstance() }
public static t getinstance()
return singleton._instance;
}}
uLua使用總結(二)
ulua使用總結 1.luastate類 對luainte ce中的 lua進行了封裝。相當於於lua的解析器 和lua使用一樣,在使用之前需要建立乙個物件。從而通過這個lua物件去執行 lua的 如下 luastate呼叫 lua是使用的反射技術 它是把要在 lua中使用的 c 類通過反射做到 可...
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...
使用方法 離型劑使用方法
1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...