【问题标题】:Game Objects setup in cocos2d + box2dcocos2d + box2d 中的游戏对象设置
【发布时间】:2010-08-11 04:08:10
【问题描述】:

我遇到了设计问题,这可能是因为我还没有完全理解 cocos2d 和 box2d。

我想创建具有 CCSprite(图像数据)和 b2Body(物理)的游戏对象,我是否可以创建一个包含两者的封装对象?如果我这样做,这将使我能够对 CCSprite 进行更改

正如我在示例代码中看到的那样,b2Body 有一个 userData 变量,精灵被设置为该变量。然后使用这种方法,我只需要一个指向负责 CCSprite 的物理对象的指针。

提前致谢。

【问题讨论】:

    标签: iphone cocos2d-iphone box2d


    【解决方案1】:

    我首选的做法是将两者都封装在一个 Actor 对象中。我的 Actor 对象还负责根据 b2Body 数据更新 CCSprite 位置/旋转。然后我将该 Actor 对象用作 b2Body 中的 userData。将 Actor 作为 userData 在迭代接触侦听器中的主体时很有帮助。

    【讨论】:

    • 这似乎是一个更好的解决方案,因为除了使用物理对象之外,我还需要以其他方式作用于我的 Actor。
    【解决方案2】:

    一个简单的解决方案是设置body的userData成员指向精灵,设置精灵的userData成员指向body。通过这种方式,您可以轻松便捷地访问它们。那么你也不应该需要将 sprite 和 body 对象封装在 actor 中。

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多