Java から Lua に (X, Y) 位置を返せるようにする必要がありますが、その方法がわかりません。C API では値をスタックにプッシュし、戻り値の数を返すだけですが、LuaJava ではそうではないようです。助言がありますか?
1 に答える
0
問題は、最初のパラメーターが常に JavaFunction オブジェクト自体であることです。addmult
2 つの数値を取り、それらの合計と積を返す関数が必要だとします。数値パラメータは、次のようにインデックス 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
于 2012-03-08T19:15:46.283 に答える