Предыдущая Следующая
platform.spritePosition.X += 10;
if (platform.spritePosition.X < 10)
platform.spritePosition.X = 10; else if (platform.spritePosition.X>Window.ClientBounds.Width - 400)
platform.spritePosition.X =Window.ClientBounds.Width - 4 0 0;
}
/// <summary> /// Пауза в игре /// <summary> public void Pause()
{
if (keyboardState.IsKeyDown(Keys.P))
pauseKeyDown = true;
}
else if (pauseKeyDown)
{
pauseKeyDown = false; paused = Ipaused;
142 Игровые столкновения
Проект Collision 143
}
/// <summary>
/// Столкновения
/// <summary>
public void Collisions()
{
bbplatform.Min = new Vector3(platform.spritePosition.X, platform.spritePosition.Y + 25, 0);
bbplatform.Max = new Vector3(platform.spritePosition.X + platform.spriteTexture.Width,
platform.spritePosition.Y + 25 + platform.spriteTexture.Height, 0); for (int i = 0; bb.Length > i;
{
bb[i].Min = new Vector3(sprite[i].spritePosition.X,
sprite[i].spritePosition.Y, 0); bb[i].Max = new Vector3(sprite[i].spritePosition.X +
sprite[i].spriteTexture.Width / 12,
sprite[i].spritePosition.Y+
sprite[i].spriteTexture.Height, 0);
}
if (bbplatform.Intersects(bb[0]))
{
sprite[0].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width -
300 - sprite[0].spriteTexture.Width / 12), -500);
}
if (bbplatform.Intersects(bb[1]))
{
sprite[1].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width -
300 - sprite[1].spriteTexture.Width / 12), -500);
}
if (bbplatform.Intersects(bb[2]))
{
sprite[2].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width -
300 - sprite[2].spriteTexture.Width / 12), -500);
}
if (bbplatform.Intersects(bb[3]))
{
sprite[3].spritePosition = new Vector2(rand.Next(10, Window.ClientBounds.Width -
300 - sprite[3].spriteTexture.Width / 12), -500);
}
if (bbplatform.Intersects(bb[4]))
{
sprite[4].spritePosition = new Vector2(rand.Next(10,
Window.ClientBounds.Width -
300 - sprite[4].spriteTexture.Width / 12), -500);
} }
/// <summary>
/// Рисуем на экране
/// <summary>
protected override void Draw(GameTime gameTime) {
graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(background1, new Vector2(0, 0), Color.White); for (int i = 0; sprite.Length > i;
{
sprite[i].DrawAnimationSprite(spriteBatch);
}
spriteBatch.Draw(background2, new Vector2(0, 0), Color.White);
platform.DrawSprite(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
} }
}
Первое, что необходимо сделать в исходном коде класса Game1 - это создать переменные структуры BoundingBox. Предыдущая Следующая
|