Предыдущая Следующая
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferrecffiackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight; sprite = new Sprite(12, 10);
}
/// <summary> /// Инициализация /// <summary
protected override void Initialize()
{
sprite.spritePosition = new Vector2(300, -200);
base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary>
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
spriteBatch = new SpriteBatch(graphics.GraphicsDevice); sprite.Load(content, «Content\\Textures\\sprite»);
background = content.Load<Texture2D>(«Content\\Textures\\background»);
}
}
/// <summary>
/// Освобождаем ресурсы
/// <summary>
protected override void UnloadGraphicsContent(bool unloadAllContent)
{ }
/// <summary>
/// Обновляем состояние игры /// <summary>
protected override void Update(GameTime gameTime)
{
Проект MoveSprite 157
if (GamePad.GetState(Playerlndex.One).Buttons.Back == ButtonState.Pressed) 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 > screenHeight)
{
sprite.spritePosition = new Vector2(rand.Next(50, screenWidth -sprite.spriteTexture.Width / 12 - 50), -200);
}
}
/// <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);
sprite.DrawAnimationSprite(spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
} } }
В самом начале исходного кода класса Game1 происходит объявление глобальных объектов и добавляются две новые строки кода.
int screenWidth, screenHeight; Random rand = new Random();
В первой строке кода мы создаем две дополнительные переменные, которые впоследствии будут содержать соответственно ширину и высоту разрешения экрана, установленную нами в конструкторе класса Game1.
graphics.PreferredBackBufferWidth = 1280;
158 Движение спрайтов в пространстве
graphics.PreferredBackBuifferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight; Предыдущая Следующая
|