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

标签 cocos2d-iphone box2d box2d-iphone

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

body->SetUserData(self);

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

最佳答案

通常,您将可视对象(即 Sprite )分配给 Box2D 主体的 userdata 对象以供联系人监听器使用。

在联系回调的情况下,您只会收到 box2d 对象。因此,您可以获取联系人的正文并从正文中获取用户数据,以便向在视觉上表示正文的 Sprite 发送消息。

例如,如果您想在 Sprite 碰撞时在 Sprite 上运行动画。

关于cocos2d-iphone - 为什么userdata设置为self?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448618/

相关文章:

iphone - 如何更改 CCScrollLayer 内容大小? (cocos2d扩展类)

java - Box2d 仅与一个物体发生碰撞

c++ - IOS Box2D - body 遵循基于一组具有波动速度的点的特定路径

javascript - 为什么liquidfun js说世界不存在

ios - 找不到 Cocos2D 文件?

c++ - cocos2d-x 中所有场景都可以访问的对象

cocos2d-iphone - cocos2d中非矩形CCNode的轮廓(描边)

c++ - 如何使用 Box2D 在 cocos2d iPhone 上调整 b2CircleShape 的大小

c++ - C++ 中的派生类型转换问题

c++ - 在接触监听器类中创建焊缝的问题