1
에 유저 데이터를 반환 호출 C 방법은
임 LuaObjcBridge을 사용하고이 같은 루아의 메소드 호출 해요 : 목표 - C에서루아 : 루아
local position = owner:position()
을이 X와 Y있는 CGPoint 구조체를 반환 bridge가 Userdata로 변환됩니다. 그래서 CGPoint struct -> Lua userdata. 루아에서 어떻게 UserData로부터 X와 Y 값에 접근 할 수 있습니까?
저는 LuaObjcBridge를 사용하지 않았지만 루아와 커스텀 브리지에 대해서는 상당한 경험이 있습니다. 코드를 살펴 보았고 구조체 멤버에 대한 액세스를 허용하는 메타 테이블의 지원이 표시되지 않습니다. 메타 테이블은 전체 객체에 대한 객관적인 C 메소드를 연결하려고 시도합니다. position.x 또는 position.y를 시도 할 수는 있지만 작동하지는 않습니다. 이 경우 사용자 데이터에서 값을 추출하는 자체적 인 브리징 C 함수를 작성할 수 있습니다. –
나는 이것을 C++로 직접 작성하여 오랜 답변을 썼다. 나는 그것이 당신이 요구하는 것이 아니라 그것을 알고 있습니다. 그러나 그것은 도움이 될 것입니다. http://stackoverflow.com/questions/3481856/sending-variable-pointers-back-and-forth-between-c-and-lua/3506654#3506654 유일한 차이점은 클래스가 작성되는 방식이 C++ obj-c –