为什么userdata设置为self?

时间:2013-05-08 19:23:20

标签: cocos2d-iphone box2d box2d-iphone

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

body->SetUserData(self);

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

1 个答案:

答案 0 :(得分:2)

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

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

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