-
Notifications
You must be signed in to change notification settings - Fork 106
Description
How to use ColliderManager
ColliderManager is used to manage collisions. Every scene has an instance of ColliderManager . You can use it like this to listen
collision events:
creator::CreatorReader* reader = creator::CreatorReader::createWithFilename("creator/CreatorSprites.ccreator");
// will create the needed spritesheets + design resolution
reader->setup();
// get the scene graph
Scene* scene = reader->getSceneGraph();
auto colliderManager = scene->getColliderManager(); <<== getColliderManager() is not member of scene ?
colliderManager->registerCollitionCallback([=](creator::Contract::CollisionType type,
creator::Collider* collider1,
creator::Collider* collider2) {
if (type == creator::Contract::CollisionType::ENTER)
colliderManager->enableDebugDraw(true);
if (type == creator::Contract::CollisionType::EXIT)
colliderManager->enableDebugDraw(false);
}, "");
More features of colliderManager can refer to the header file.
I know that it is member of CreatorReader .
but this example will crash at ColliderManager.cpp#145 removeCollider().
why collider manager has crash?