Предыдущая Следующая
{
sprite[i].UpdateFrame(elapsed);
}
Проект Platform 179
MovePlatform();
MoveSpriteO;
base.Update(gameTime);
}
/// <summary>
/// Движение спрайта по вертикали
/// <summary>
public void MoveSprite()
{
for (int i = 0; sprite.Length > i;
{
sprite[i].spritePosition += sprite[i].speedSprite; if (sprite[i].spritePosition.Y > screenHeight)
{
sprite[i].spritePosition = new Vector2(rand.Next(5 0, screenWidth -
sprite[i].spriteTexture.Width / 12 - 50), -500);
}
}
}
/// <summary>
/// Движение ковра-самолета по экрану
/// <summary>
public void MovePlatform()
{
GamePadState currentState = GamePad.GetState(Playerlndex.One); if (currentState.IsConnected)
{
if (currentState.ThumbSticks.Left.X < -0.5f)
platform.spritePosition.X -= 15; else if (currentState.ThumbSticks.Left.X > 0.5f)
platform.spritePosition.X += 15;
if (platform.spritePosition.X < 30) platform.spritePosition.X = 30; else if (platform.spritePosition.X > screenWidth — platform.spriteTexture.Width -30) platform.spritePosition.X = screenWidth — platform.spriteTexture.Width — 30;
}
}
/// <summary>
/// Рисуем на экране
/// <summary>
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.Black); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(background, new Vector2(0, 0), Color.White);
180 Работа с джойстиком
for (int i = 0; sprite.Length > i; i++) {
sprite[i].DrawAnimationSprite(spriteBatch);
}
platform.DrawSprite(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
}
} }
После того как вы откомпилируете и запустите проект Platform на приставке, вы увидите в нижней части экрана телевизора или монитора ковер-самолет, который с помощью джойстика можно передвигать влево или вправо (рис. 9.4). С неба будут падать различные предметы и люди, которые вы должны ловить ковром, но на этом этапе, естественно, поймать вам ничего и никого не удастся, поскольку в игре еще не описан механизм игровых столкновений. Этим мы займемся в следующей главе, а в этой главе добавим еще несколько строк кода для того, чтобы реализовать в игре режим паузы.
9.3. Проект PauseGame
Вводим в проект PauseGame две новые булевы переменные, объявление которых происходит в области глобальных переменных, чтобы переменные были доступны на любом участке исходного кода класса Gamel.
Рис. 9.4. Движение ковра-самолета в игре
Проект PauseGame 181
private bool paused = false; private bool pauseKeyDown = false; Предыдущая Следующая
|