【问题标题】:How to implement moving platforms with Cocos2d, TMXTiledMaps and Chipmunk如何使用 Cocos2d、TMXTiledMaps 和 Chipmunk 实现移动平台
【发布时间】:2010-12-16 07:25:58
【问题描述】:

我在 Cocos2d 游戏上取得了缓慢但稳定的进展,但我一直在创建移动平台。

主角需要物理和碰撞检测,因此是花栗鼠的形状/身体。我编写了一个类来迭代 TMXTiledMap 以减少花栗鼠空间中的身体数量。所以有了这样的地图

----------
--------x-
-xxx----x-
----------

不是有 5 个单独的实体(矩形),而是有两个实体,一个是三格宽,另一个是两格高。

我已设法使代码能够识别哪些图块是移动平台的一部分,并根据需要移动图块。

但是,身体需要与瓷砖一起移动才能正常工作。这就是我卡住的地方。身体是静态的,所以......

platformShape->body->p = cpv(x,y);

什么都不做(我猜这是预期的行为)。

但是,如果我将它们的质量设置为静态以外的任何值,那么所有物理特性都会发挥作用,并且物体的行为不会像预期的那样,或者它们的行为是否完美取决于您如何看待它。当它们撞到另一个身体(例如:主角)时,它们会不规律地移动并旋转。我所追求的是典型的移动平台类型,你会期望在一个典型的平台游戏中找到,它可以在任何给定方向上平稳移动。

我的问题是;以前有没有人实现过这样的东西,你的技术是什么?或者,如果你要实现这样的东西,你会怎么做?

相关代码为here。我把它放在一个 pastebin 里,因为我认为这更像是一个概念上的误解,而不是其他任何东西。

【问题讨论】:

    标签: cocos2d-iphone chipmunk


    【解决方案1】:

    原来你需要打电话

    cpRehashStaticShapes

    确实很明显,但在我看来很容易错过。

    【讨论】:

      猜你喜欢
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多