我怎么知道我的精灵何时与一个物体发生碰撞?

时间:2011-04-14 18:55:38

标签: objective-c xcode cocos2d-iphone

抱歉,我的英语不是很好。

我有一个安静的精灵,地图在x轴向左移动,给人的印象是精灵向右跑。

_tileMap runAction:[CCMoveBy actionWithDuration:80.0 position:ccp(-2000,0)]];

我的tilemap设置为true propiedates可以与programa“Tiled”结合使用“Tileset> properties>” “Collidable”设置为“True”

我始终可以通过_tileMap.position.x

了解地图位置

我如何知道我的精灵何时与对象发生碰撞?

谢谢!

1 个答案:

答案 0 :(得分:1)

Cocos2D不会为你做这件事,你需要自己计算任何碰撞。

如果您想要最简单的情况,只需获取精灵的位置,将其转​​换为平铺贴图坐标,然后获取该贴图的属性。如果将collide-able属性设置为true,那么您的精灵会遇到碰撞,您需要编写相应的响应。

这假设只有精灵的中心点会发生碰撞,你需要在你的精灵中定义更多的点来测试。

更简单的方法可能是使用Box2D或其他2D物理系统并为精灵定义碰撞形状,然后在发生碰撞时可以获得回调。