刚学cocos2d-x的菜鸟,最近写flappybird掉坑里了,
对小鸟和地板做了这些设置:
bird->setTag(2);
birdBody->setCategoryBitmask(0x0001);
birdBody->setContactTestBitmask(0x0001);
birdBody->setCollisionBitmask(0x0001);
将小鸟、地板、柱子都设置PhysicsBody会导致地板和柱子碰撞下面那行柱子出不来,
所以我只对小鸟和地板设置了PhysicsBody。
关于PhysicsWorld碰撞检测,我在头文件里这样定义的:virtual bool onContactBegin(PhysicsContact& contact);
在cpp这样实现的:void GameScene::add_hitTestListener(){
auto hitTestListener = EventListenerPhysicsContact::create();
hitTestListener->onContactBegin = CC_CALLBACK_1(GameScene::onTouchesBegan, this);
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(hitTestListener, this);
}
bool GameScene::onContactBegin(PhysicsContact& contact)
{
return true;
}
onContactBegin函数不知道如何实现,所以没写。但是这样也会报错,
网上找了很多关于碰撞检测的实现,都没有成功,甚至3.0的API在3…2上也不能用,在cocos2d-x 3.2中怎样才能实现碰撞检测?
请把代码粘贴在这里