Collision detection
First, let us implement our onCollision
instance method. This is going to be called each time a collision between two physics bodies is detected. As we can see in the following code, when the bomb physics body collides with our player, it makes the bomb invisible:
bool HelloWorld::onCollision(PhysicsContact& contact){ _sprBomb->setVisible(false); return false; }
Note
This is a good place for putting some logs during the development process in order to find out when the collisions are being detected. In Cocos2d-x 3.4 you can print the log messages using the CCLOG
macro. This could be turned on by defining the macro COCOS2D_DEBUG
as follows: #define COCOS2D_DEBUG 1
.
As we can see, this method returns a Boolean value. It indicates whether these two bodies can collide again. In this particular case, we will return false, indicating that as soon as these two physics bodies collide they should not continue to collide. If we return the true indication, then these two...