Предыдущая Следующая
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
spriteBatch = new SpriteBatch(graphics.GraphicsDevice); sprite.Load(content, "Content\\Textures\\sprite");
background1 = content.Load<Texture2D>("Content\\Textures\\background1"); background2 = content.Load<Texture2D>("Content\\Textures\\background2");
} }
/// <summary>
/// Освобождаем ресурсы
/// <summary>
protected override void UnloadGraphicsContent(bool unloadAllContent)
{
if (unloadAllContent == true)
{
content.Unload();
}
}
114 Движение спрайтов в пространстве
Проект MoveSprite 115
/// <surmmary>
/// Обновляем состояние игры /// <summary>
protected override void Update(GameTime gameTime)
{
keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.Escape)) this.Exit();
double elapsed = gameTime.ElapsedGameTime.TotalSeconds; sprite.UpdateFrame(elapsed);
MoveSprite();
base.Update(gameTime);
}
/// <summary>
/// Движение спрайта по вертикали
/// <summary>
public void MoveSprite()
{
sprite.spritePosition += sprite.speedSprite;
if (sprite.spritePosition.Y > Window.ClientBounds.Height)
{
sprite.spritePosition = new Vector2(rand.Next(10,
Window.ClientBounds.Width-300-sprite.spriteTexture.Width/12),-200);
} }
/// <summary>
/// Рисуем на экране
/// <summary>
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
spriteBatch.Draw(backgroundl, new Vector2(0, 0), Color.White); sprite.DrawAnimationSprite(spriteBatch);
spriteBatch.Draw(background2, new Vector2(0, 0), Color.White); spriteBatch.End();
base.Draw(gameTime);
} }
}
В самом начале исходного кода класса Gamel происходит объявление глобальных объектов и добавляется новая строка кода.
Random rand = new Random();
Системный класс Random позволяет в программах генерировать для заданной переменной какое-то новое случайное значение. В состав класса входит метод Next(), который при каждом новом вызове формирует последовательность случайных чисел. Метод Next() имеет три следующие модификации:
□ Random.Next () - возвращает положительное случайное число;
□ Random.Next(int32) - возвращает положительное случайное число, где единственный параметр метода - это верхняя граница или максимальное число, выше которого не может быть сгенерировано новое значение. Например, если вызвать метод вот так: Next(20), - то сгенерированное число не будет выходить из диапазона от 0 до 20; Предыдущая Следующая
|