题
我需要能够从java返回到lua的(x,y)位置,我无法弄清楚如何做到这一点。使用C API,您只需将值递到堆栈上,然后返回返回值的数量,但这似乎并不是卢拉杰瓦如何做到。任何建议?
解决方案
问题可能是第一个参数始终是JavaFunction对象本身。假设您想要一个函数生成的函数,它需要两个数字,并返回其总和和产品。必须将数字参数作为索引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
. 不隶属于 StackOverflow