Предыдущая Следующая
namespace MyFont {
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; SpriteBatch spriteBatch; SpriteFont arial; SpriteFont courier; SpriteFont tahoma;
public Game1()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720;
}
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
spriteBatch = new SpriteBatch(graphics.GraphicsDevice); arial = content.Load<SpriteFont>(«arial»); courier = content.Load<SpriteFont>(«Courier New»); tahoma = content.Load<SpriteFont>(«tahoma»);
}
}
206 Подсчет очков и вывод текста на экран
protected override void UnloadGraphicsContent(bool unloadAllContent) {
if (unloadAllContent)
{
content.Unload();
}
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(Playerlndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(new Color(159, 147, 207)); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);
// Рисуем 31 букву алфавита. Буква ё не попала в диапазон выбора. // Поскольку буква ё (строчная) в Arial шрифте идет под номером 1105 spriteBatch.DrawString(arial, «йцукенгшщэхъфывапролджэячсмитьбю\п» + <<ЙЦУКЕНГШЩЗХЪФЬ1ВАПРОЛДЖЭЯЧСМИТЬБ=>», new Vector2 (100, 200), Color.Black);
spriteBatch.DrawString(courier, «Уровень: 1 \пНабрано очков: « + 50, new Vector2(100, 300), Color.Black);
spriteBatch.DrawString(tahoma, «Работа со шрифтом на Xbox 360», new Vector2(100, 400), Color.Black);
spriteBatch.End(); base.Draw(gameTime);
} } }
11.2. Подсчет очков
Вернемся к игре и продолжим ее улучшать. В качестве базового проекта используем последний проект из десятой главы. Все изменения при подсчете очков касаются только основного класса Gamel. Как всегда, исходный код этого проекта вы найдете на компакт-диске в папке Code\Chaper11\Font.
Как мы уже выяснили, любой подсчет очков определяет всю игровую стратегию. В нашем случае за каждый пойманный объект будет начисляться одно очко, иначе говоря, мы будем вести простой подсчет пойманных предметов. Для подсчета очков по каждому падающему объекту нам понадобится отдельная целочисленная переменная. Предыдущая Следующая
|