Im mit LuaObjcBridge und ich bin eine Methode aus Lua wie folgt aufrufen:Lua: Aufruf c Methode, die Benutzerdaten zu Lua gibt
local position = owner:position()
in Objective-C dies gibt eine CGPoint Struktur mit X und Y, welche die Bridge konvertiert in Benutzerdaten. Also CGPoint struct -> Lua userdata. Wie würde ich in Lua auf die X- und Y-Werte der Userdata zugreifen?
Ich habe nicht LuaObjcBridge verwendet, aber ich habe eine Menge Erfahrung mit Lua und eine benutzerdefinierte Brücke. Ich schaute auf den Code und ich sehe keine Unterstützung in der Metatabelle, um Zugriff auf Strukturelemente zu ermöglichen. Es scheint, dass das Metatable nur versucht, objektive C-Methoden für vollständige Objekte zu überbrücken. Sie könnten Position.x oder Position.y versuchen, aber es sieht nicht so aus, als würden diese funktionieren. In diesem Fall könnten Sie eigene überbrückte C-Funktionen schreiben, die die Werte aus den Benutzerdaten extrahieren. –
Ich schrieb eine ausführliche Antwort dafür, dies in C++ von Hand zu tun. Ich weiß, dass es nicht genau das ist, wonach du fragst, aber es kann helfen. http://StackOverflow.com/Questions/3481856/Sending-Variable-Pointers-Back-and-forth-between-c-and-Lua/3506654#3506654 Der einzige Unterschied wäre die Art und Weise, wie die Klassen zusammengesetzt sind, ist C++ vs. obj-c –