public bool StandartCollide() { for (int i = 0; i < PlatformController.bullets.Count; i++) { var bullet = PlatformController.bullets[i]; PointF delta = new PointF(); delta.X = (transform.position.X + transform.size.Width / 2) - (bullet.physics.transform.position.X + bullet.physics.transform.size.Width / 2); delta.Y = (transform.position.Y + transform.size.Height / 2) - (bullet.physics.transform.position.Y + bullet.physics.transform.size.Height / 2); if (Math.Abs(delta.X) <= transform.size.Width / 2 + bullet.physics.transform.size.Width / 2) { if (Math.Abs(delta.Y) <= transform.size.Height / 2 + bullet.physics.transform.size.Height / 2) { PlatformController.RemoveBullet(i); return(true); } } } return(false); }
public void CalculatePhysics() { if (dx != 0) { transform.position.X += dx; } if (transform.position.Y < 700) { transform.position.Y += gravity; gravity += a; if (gravity > -25 && usedBonus) { PlatformController.GenerateRandomPlatform(); PlatformController.startPlatformPosY = -200; PlatformController.GenerateStartSequence(); PlatformController.startPlatformPosY = 0; usedBonus = false; } Collide(); } }
public void Collide() { for (int i = 0; i < PlatformController.platforms.Count; i++) { var platform = PlatformController.platforms[i]; if (transform.position.X + transform.size.Width / 2 >= platform.transform.position.X && transform.position.X + transform.size.Width / 2 <= platform.transform.position.X + platform.transform.size.Width) { if (transform.position.Y + transform.size.Height >= platform.transform.position.Y && transform.position.Y + transform.size.Height <= platform.transform.position.Y + platform.transform.size.Height) { if (gravity > 0) { AddForce(); if (!platform.isTouchedByPlayer) { PlatformController.score += 20; PlatformController.GenerateRandomPlatform(); platform.isTouchedByPlayer = true; } } } } } }