kksmart
25-08-2008 15:58:58
I want do someting when the collision happen , for example , I want reduce the life when leading actor contact the weapon , what should I do ? thanks!
kksmart
25-08-2008 15:58:58
SiWi
25-08-2008 16:00:50
kksmart
25-08-2008 16:55:33
SiWi
26-08-2008 09:51:59
seroom
31-08-2008 14:08:54
static bool myContactAddedCallback(btManifoldPoint& cp,const tCollisionObject* colObj0, int partId0, int index0, const btCollisionObject* colObj1, int partId1, int index1)
{
switch( colObj0->getCollisionShape()->getUserPointer() ) // use user pointer to recognize objects
{
case ACTOR: ...
}
...
}
enum ObjectsIds{ ... , ACTOR , ... };
extern ContactAddedCallback gContactAddedCallback;
MyWorld::init(){
...
gContactAddedCallback = myContactAddedCallback;
...
mWorld = new DynamicsWorld(...);
...
mBody->getCollisionShape()->setUserPointer((void*) ACTOR);
mBody->setCollisionFlags(mBody->getCollisionFlags() |
btCollisionObject::CF_CUSTOM_MATERIAL_CALLBACK);
...
}
kulebril
03-01-2013 09:26:18