Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void HandleCollision()
- {
- int Checkdist = 1;
- for (int x = Coordinates.X - Checkdist; x < Coordinates.X + Checkdist + 1; x++)
- {
- for (int y = Coordinates.Y - Checkdist; y < Coordinates.Y + Checkdist + 1; y++)
- {
- if (Tilemap.TileArray[x, y] != null)
- {
- //Collision code starts under here
- if (CollisionRect.Intersects(Tilemap.TileArray[x, y].TileRect))
- {
- if (Velocity.Y > 0) //Down collision resolving
- {
- int CollisionDepth = Math.Abs(CollisionRect.Bottom - (int)Tilemap.TileArray[x, y].Pos.Y);
- for (int j = 0; j < CollisionDepth; j++)
- {
- Position.Y--;
- }
- Velocity.Y = 0;
- }
- if (Velocity.X > 0) //Right collision resolving
- {
- int CollisionDepth = Math.Abs(CollisionRect.Right - (int)Tilemap.TileArray[x, y].Pos.X);
- for (int j = 0; j < CollisionDepth; j++)
- {
- Position.X--;
- }
- Velocity.X = 0;
- }
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment