void TestColliderDetector::endHit(cpArbiter *arb, cpSpace *space, void *unused) { CP_ARBITER_GET_SHAPES(arb, a, b); Bone *bone = (Bone *)a->data; bone->getArmature()->setVisible(true); }
int TestColliderDetector::beginHit(cpArbiter *arb, cpSpace *space, void *unused) { CP_ARBITER_GET_SHAPES(arb, a, b); Bone *bone = (Bone *)a->data; bone->getArmature()->setVisible(false); return 0; }
void TestColliderDetector::update(float delta) { armature2->setVisible(true); world->Step(delta, 0, 0); for (std::list<Contact>::iterator it = listener->contact_list.begin(); it != listener->contact_list.end(); ++it) { Contact &contact = *it; Bone *bb = static_cast<Bone *>(contact.fixtureB->GetUserData); bb->getArmature()->setVisible(false); } }