Lua:调用返回 userdata 的 C 方法到 Lua

我正在使用LuaObjcBridge,并像这样从Lua调用一个方法:

local position = owner:position()

在Objective-C中,这将返回一个具有X和Y的CGPoint结构,桥将其转换为Userdata。所以CGPoint结构 - > Lua userdata。在Lua中,我如何从Userdata中访问X和Y值?

原文链接 https://stackoverflow.com/questions/4686847

点赞
stackoverflow用户459706
stackoverflow用户459706

你需要:

  • 定义一个包含操作 userdata 的方法的 metatable
  • 在 userdata 上设置 metatable
  • 将相同的 metatable 设置为 userdata 的 __index 字段

或者:

  • 设置一些操作 userdata 的方法
  • 将它们暴露给 Lua

请查看 http://www.lua.org/pil/28.1.html

userdata 本身无法做任何事情,你需要添加一些方法来对其进行操作。

2011-01-24 07:42:17