Lua:调用将userdata返回给Lua的c方法

时间:2011-01-14 00:21:39

标签: objective-c lua

我正在使用LuaObjcBridge,我正在调用Lua的方法:

local position = owner:position()

在objective-c中,它返回一个带有X和Y的CGPoint结构,桥接器将其转换为Userdata。所以CGPoint结构 - > Lua userdata。在Lua中,我如何从Userdata访问X和Y值?

1 个答案:

答案 0 :(得分:1)

你需要:

  • 定义metatable,其中包含对userdata进行操作的方法
  • 在userdata上设置metatable
  • 在userdata
  • 上设置与__index字段相同的元表

或:

  • 设置一些对userdata进行操作的方法
  • 将他们暴露给Lua

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

userdata本身无法执行任何操作,您需要添加对其执行操作的方法。