【发布时间】:2020-07-09 07:43:30
【问题描述】:
我在我正在开发的游戏引擎中使用 Lua。我想给 Lua 一种方法来获取和设置脚本所在实体的位置。该脚本是一个组件,其中包含指向包含它的实体的指针。在 Lua 中,我希望能够输入:
print(transform.position.x)
transform.position.x = 10
我已经为位置编写了一个 getter 和 setter,我希望它们包含在 transform.position 下,最好根本不是 getter 和 setter,而是更像公共成员。我当前的 getter 和 setter 如下所示:
int getXPosition(lua_State* L) {
lua_pushnumber(L, Script::currentEntity->get<Transform>().position.x);
return 1;
}
那么,如果可能的话,如何做到这一点?
【问题讨论】:
-
您可以为
transform.position编写元表并将.x转换为绑定到C API 的函数调用 -
这能回答你的问题吗? Can you modify a C struct from lua?