コード例 #1
0
ファイル: world.cpp プロジェクト: hksonngan/ds_cinder
bool World::makeCollision(const b2Fixture& fix, Collision& c) const
{
	if (!mBounds) return false;
	if (fix.GetBody() != mBounds) return false;

	if (fix.GetUserData() == BOUNDS_LEFT_PTR) c.setToWorldBounds(Collision::LEFT);
	else if (fix.GetUserData() == BOUNDS_TOP_PTR) c.setToWorldBounds(Collision::TOP);
	else if (fix.GetUserData() == BOUNDS_RIGHT_PTR) c.setToWorldBounds(Collision::RIGHT);
	else if (fix.GetUserData() == BOUNDS_BOTTOM_PTR) c.setToWorldBounds(Collision::BOTTOM);
	else return false;

	return true;
}
コード例 #2
0
ファイル: physics.cpp プロジェクト: aardappel/treesheets
 float2 Pos() { return B2ToFloat2(fixture->GetBody()->GetPosition()); }
コード例 #3
0
ファイル: physics.cpp プロジェクト: aardappel/treesheets
 ~PhysicsObject() {
     auto body = fixture->GetBody();
     body->DestroyFixture(fixture);
     if (!body->GetFixtureList()) world->DestroyBody(body);
     if (particle_contacts) delete particle_contacts;
 }