请问我的碰撞检测错在哪,应该怎么写,谢谢了

        //这个是gamelayer下的函数,继承Layer,其中enemy和bullet分别有自己的cpp并继承Sprite

void GameLayer::hitTestBulletWithEnemy()
{
for (int i = enemyList.size() - 1; i >= 0 ; i–)//倒序遍历-1
{
auto getEnemy = enemyList.at(i

    for (int k = playerBulletList.size() - 1; k >= 0; k--)
    {
        auto getBullet = playerBulletList.at(k)

//hitTest是子弹bullet下面的函数,内容在后面

        if (getBullet->hitTest(getEnemy))   

        {

            log("2222");
            if(getEnemy->getIsBlowup())
            
                enemyList.eraseObject(getEnemy);
               
            }

        }
    }
}

}

//这个是bullet下面的函数

bool Bullet::hitTest(cocos2d::Node* enemy)
{
return enemy->getBoundingBox().containsPoint(this->getPosition());
}

后来我改成了下面这样,也还是碰不到

//EnemyLayer* getEnemy = NULL;
//Bullet* getBullet = NULL;
//
//Sprite* getEnemy = (Sprite*) enemyLayer->getChildByTag(TEnemy);//把getEnemy转化成了精灵
//Sprite* getBullet = (Sprite*) bulletSprite->getChildByTag(TBullet);//把getBullet转化成了精灵

//for (auto& eEnemy : enemyLayer->vecE) {
//    
//    EnemyLayer* getEnemy = (EnemyLayer*) eEnemy;
//    //判断矩形是否有重叠
//    if (getBullet->boundingBox().intersectsRect(getEnemy->getBoundingBox())) //getBoundingBox()
//    {
//        getEnemy->hurt();//死不死用hurt判断得到getIsBlowup,判断播放爆炸
//        getBullet->destroy();
//        //有重叠则移除子弹
//        //playerBulletList.erase(k);
//        
//    }
//}

最简单的方法是打印出矩形的大小位置,自己在坐标系中确认一下位置是否正确,是否相交。

谢谢,谢谢,谢谢,谢谢,谢谢,谢谢,谢谢,