Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

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.

Как мы уже выяснили, любой подсчет очков определяет всю игровую стратегию. В нашем случае за каждый пойманный объект будет начисляться одно очко, иначе говоря, мы будем вести простой подсчет пойманных предметов. Для подсчета очков по каждому падающему объекту нам понадобится отдельная целочисленная переменная.


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz