如何检测cocos2d-x 2.2中三个sprite的碰撞?

时间:2014-06-24 13:17:27

标签: c++ cocos2d-x cocos2d-x-2.x

我是cocos2d-x的新手,我正在实施自己的飞鸟。

现在我正在进行碰撞检测,我被困住了。

我将down_pipe精灵和up_pipe精灵添加到父精灵管道,并将父变换从右向左移动。

但是当我通过

检查碰撞时
if (bird->boundingBox().intersectsRect(pipes->boundingBox()))

它没有用。

我试着这样:

if (bird->boundingBox().intersectsRect(pipes->getChildByTag(DOWN_PIPE)->boundingBox()) || bird->boundingBox().intersectsRect(pipes->getChildByTag(UP_PIPE)->boundingBox()))

它仍然无法运作。

我该如何解决这个问题?有什么建议吗?

1 个答案:

答案 0 :(得分:2)

你试试这个,

        CCRect target = CCRectMake(pipes->getPosition().x - (pipes->getContentSize().width/2),pipes->getPosition().y - (pipes->getContentSize().height/2),pipes->getContentSize().width,pipes->getContentSize().height);

if(bird-> boundingBox()。intersectsRect(target))