cocos2d-iphone – 为什么userdata设置为self?

在几个box2d代码示例中,我看到了这行代码:

body->SetUserData(self);

在我的搜索中,我没有找到任何解释.在box2d中将userdata设置为self的主要目的是什么?

最佳答案 通常,您将可视对象(即精灵)分配给Box2D正文的userdata对象,以供联系人侦听.

如果是联系人回调,您只会收到box2d对象.因此,您可以获取联系人的主体,并从主体获取userdata,以便将消息发送到可视化表示身体的精灵.

例如,如果你想在sprite碰撞时运行动画.

点赞