public void Collision(Brick col, CollisionSector sector) { if (sector == CollisionSector.UpAndDown) { position.Y += -speedY; speedY = -speedY; } if (sector == CollisionSector.LeftAndRight) { position.X += -speedX; speedX = -speedX; } }
//For collisionZone : this is a int between -100 (up or left) and 100 (down or right) which contains the zone on the col where the ball bounce public void Collision(Bar col, CollisionSector sector) { if (sector == CollisionSector.UpAndDown) { position.Y += -5; speedY = -speedY; int collisionZone = (int)((((col.sizeX - ((position.X + sizeX / 2) - col.position.X)) / col.sizeX) - 0.5) * -200); speedX = collisionZone / 20; } if (sector == CollisionSector.LeftAndRight) { position.X += -speedX; speedX = -speedX; int collisionZone = (int)((((col.sizeY - ((position.Y + sizeY / 2) - col.position.Y)) / col.sizeY) - 0.5) * -200); speedY = collisionZone / 20; } }