node中setuserdata

我本想在lua中用node的setuserdata,但是发现没有被编译成lua的。倒腾出来后,又发现lua中setuserdata一个table,get的是node。就算不set也可以get一个node。跟踪调试没有发现任何一个地方设置c++的node中_userData。很郁闷,求高手解答

放假回来,继续研究这个问题。我仿造setuserdata在node中做了个setSelfPoint,结果与setuserdata一致

代码片段:
local onContactBegin = function(contact)
print(“xiaoxixiangying---------”)
local dataA = contact:getShapeA():getBody():getNode():getSelfPoint();
if dataA ~= nil then
print(“a”)
SelfTool.print(dataA)
dataA = tolua.cast(dataA,“table”)
dataA()
end
local dataB = contact:getShapeB():getBody():getNode():getUserData();
if dataB ~= nil then
print(“b”)
dataB()
end

end

local afun = function(parameters)
    print("c")
end

local contactListener = cc.EventListenerPhysicsContact:create();
contactListener:registerScriptHandler(onContactBegin, cc.Handler.EVENT_PHYSICS_CONTACT_BEGIN);
local eventDispatcher = layer:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(contactListener, layer);


layer:setSelfPoint(self)

断点调试时候contact:getShapeA():getBody():getNode();和contact:getShapeA():getBody():getNode():getUserData();以及contact:getShapeA():getBody():getNode():getSelfPoint();打印的指针一致