/// <summary>
/// Allows the game to run logic such as updating the world,
/// checking for collisions, gathering input, and playing audio.
/// </summary>
/// <param name="gameTime">Provides a snapshot of timing values.</param>
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
{
Exit();
}
// move the teddybears
bear0.Update(gameTime);
bear1.Update(gameTime);
// playing the explosion
explosion.Update(gameTime);
// detect the collision and play the explosion
if (bear0.Active && bear1.Active && bear0.DrawRectangle.Intersects(bear1.DrawRectangle))
{
bear0.Active = false;
bear1.Active = false;
// get the collision point of two teddybears
Rectangle collisionRectangle = Rectangle.Intersect(bear0.DrawRectangle, bear1.DrawRectangle);
explosion.Play(collisionRectangle.Center.X, collisionRectangle.Center.Y);
}
base.Update(gameTime);
}