0
我需要能夠從Java返回一個(X,Y)位置到Lua,我無法弄清楚如何去做。使用C API,你只需將值推入堆棧,然後返回返回值的數量,但這似乎並不像LuaJava那樣。有什麼建議麼?用LuaJava返回多個值
我需要能夠從Java返回一個(X,Y)位置到Lua,我無法弄清楚如何去做。使用C API,你只需將值推入堆棧,然後返回返回值的數量,但這似乎並不像LuaJava那樣。有什麼建議麼?用LuaJava返回多個值
問題可能是第一個參數始終是JavaFunction對象本身。假設您想要一個函數addmult
,它需要兩個數字,並返回它們的總和和乘積。該數字參數必須檢索爲索引2和3,具體如下:
JavaFunction addmult = new JavaFunction(L) {
@Override
public int execute() throws LuaException {
double x = L.toNumber(2);
double y = L.toNumber(3);
L.pushNumber(x+y);
L.pushNumber(x*y);
return 2;
}
};
addmult.register("addmult");
現在,你應該在你的代碼得到了類似的結果:
print(addmult(3, 5)) --> 8 13