1.碰撞檢測回調方法編譯出錯;
auto *listener = EventListenerPhysicsContact::create();
listener->onContactBegin = CC_CALLBACK_1(HelloWorld::onContactBegin,this);
在3.0rc版本中回調函數的參數變爲一個,不能使用原來的兩個參數;
bool HelloWorld::onContactBegin(PhysicsContact& contact)
{
auto spriteA = (Sprite*)contact.getShapeA()->getBody()->getNode();
auto spriteB = (Sprite*)contact.getShapeB()->getBody()->getNode();
return true;
}
2.回調方法不調用
添加如下代碼:
PhysicsBody * body = PhysicsBody::createCircle(_ball->getContentSize().width/2);
PhysicsBody * body2 = PhysicsBody::createCircle(_ball->getContentSize().width/2);
body->setMass(1.0f);
body->setContactTestBitmask(0xFFFFFFFF);
body2->setMass(1.0f);
body2->setContactTestBitmask(0xFFFFFFFF);