質問
JavaからLuaへの(x、y)の位置を返すことができる必要があり、その方法を理解することはできません。C APIを使用すると、値をスタックにプッシュしてから戻り値の数を返しますが、Luajavaがどのようにしているのかはそうではありません。任意の提案?
解決
問題は、最初のパラメータが常にJavaFunctionオブジェクト自体の場合でもあります。2つの数字をとる関数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
. 所属していません StackOverflow