/// <summary> /// Uruchamia się, gdy dochodzi do wszelakich kolizji. /// </summary> public void DetekcjaKolizji() { Rectangle rectGracza = new Rectangle((int)gracz.GetPosition().X, (int)gracz.GetPosition().Y, (int)gracz.GetSize().X, (int)gracz.GetSize().Y); Rectangle rectWrog = new Rectangle((int)wrog.GetPosition().X, (int)wrog.GetPosition().Y, (int)wrog.GetSize().X, (int)wrog.GetSize().Y); Rectangle rectWrog2 = new Rectangle((int)wrog2.GetPosition().X, (int)wrog2.GetPosition().Y, (int)wrog2.GetSize().X, (int)wrog2.GetSize().Y); Rectangle rectPocisk = new Rectangle((int)gracz.GetPositionPocisk().X, (int)gracz.GetPositionPocisk().Y, (int)gracz.GetSizePocisk().X, (int)gracz.GetSizePocisk().Y); //Kolizja rakiety z meteorem if (rectGracza.Intersects(rectWrog)) { wrog.Kolizja(); gracz.Kolizja(); MediaPlayer.Play(wybuchRaz); stanGry = false; } if (rectGracza.Intersects(rectWrog2)) { wrog2.Kolizja(); gracz.Kolizja(); MediaPlayer.Play(wybuchRaz); stanGry = false; } //Kolizja pocisku z meteorem if (rectPocisk.Intersects(rectWrog)) { wrog.Kolizja(); gracz.Trafienie(); punkty++; } if (rectPocisk.Intersects(rectWrog2)) { wrog2.Kolizja(); gracz.Trafienie(); punkty++; } }
public void Draw(Texture2D texture2D, SpriteBatch spriteBatch, Meteor meteor, Rectangle rectangle) { Rectangle rectMeteor = new Rectangle((int)meteor.GetPosition().X, (int)meteor.GetPosition().Y, rectangle.Width, rectangle.Height); spriteBatch.Draw(texture2D, rectMeteor, rectangle, Color.White); }