在LUA中如何調(diào)用JAVA方法
在LUA中如何調(diào)用JAVA方法是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)LUA中調(diào)用JAVA方法,在使用luajava開(kāi)源項(xiàng)目中,如何在lua中調(diào)用java的方法,如何將java對(duì)象作為參數(shù)傳遞到lua的函數(shù)中。下面舉例說(shuō)明:
我們新建一個(gè)loadScript類,代碼如下:
- public class LoadScript {
 - LuaState L;
 - LoadScript(final String filename){
 - this.L = LuaStateFactory.newLuaState();
 - this.L.openLibs();
 - this.L.LdoFile(filename);
 - }
 - void closeScript(){
 - this.L.close();
 - }
 - void runScriptFunction(String functionName,Object obj){
 - this.L.getGlobal(functionName);
 - this.L.pushJavaObject(obj);
 - this.L.call(1,0);
 - }
 - }
 
下面寫一個(gè)java對(duì)象:
- class LoadTest{
 - String a;
 - LoadScript script;
 - public LoadTest(String script){
 - this.script = new LoadScript(script+".lua");
 - this.script.runScriptFunction("create",this);
 - }
 - public String getA() {
 - return a;
 - }
 - public void setA(String a) {
 - this.a = a;
 - }
 - }
 
下面是測(cè)試代碼:
- public static void main(String[] args) {
 - LoadTest test = new loadTest("function");
 - System.out.println(call.test.getA());
 - }
 
這樣,我們就可以將test對(duì)象傳遞到下面的lua代碼中:
- function.lua:
 - function create(M)
 - M:setA("this is a")
 - end
 
小結(jié):在LUA中如何調(diào)用JAVA方法的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!















 
 
 

 
 
 
 