Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

}

/// <summary> /// Инициализация /// <summary>

protected override void Initialize()

{

spritePosition.X = Window.ClientBounds.Width / 2; spritePosition.Y = Window.ClientBounds.Height / 2;

base.Initialize();

}

/// <summary>

/// Загрузка компонентов игры /// <summary>

protected override void LoadGraphicsContent(bool loadAllContent)

{

if(loadAllContent)

{

spriteBatch = new SpriteBatch(graphics.GraphicsDevice); spriteTexture =

content.Load<Texture2D>("Content\\Textures\\sprite");

} }

/// <summary>

/// Освобождаем ресурсы

/// <summary>

protected override void UnloadGraphicsContent(bool unloadAllContent)

{

if(unloadAllContent == true)

{

86 Работа с двухмерной графикой

Проект DrawSprite Class 87

content.Unload();

}

/// <summary>

/// Обновляем состояние игры /// <summary>

protected override void Update(GameTime gameTime) {

}

/// <summary>

/// Рисуем на экране

/// <summary>

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

spriteBatch.Draw(spriteTexture, spritePosition, Color.White); spriteBatch.End();

base.Draw(gameTime);

6.3. Проект DrawSpriteClass

В первом проекте, работая с изображением, мы использовали класс Gamel, в котором непосредственно обеспечивалась загрузка спрайта в программу. Такой подход оправдан для небольших демонстрационных примеров, где программный код может составлять несколько десятков строк. В больших играх этот подход не годится, поскольку количество строк исходного кода может составлять несколько тысяч и в итоге можно элементарно запутаться в своем коде, не говоря уже о сторонних программистах. Поэтому перед созданием игры всегда необходимо тщательно продумывать структуру будущих классов. Тем более что язык программирования C# тем и хорош, что он объектно-ориентированный и все его лучшие качества заключены именно в этом стиле программирования.

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

Проект DrawSpriteClass основан на исходном коде предыдущего проекта DrawSprite, но с некоторыми дополнениями и переработками. Проект будет включать в себя классы Program, Gamel и Sprite. Исходный код класса Sprite находится в отдельном файле Sprite.cs. Этот файл необходимо добавить в про-


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

Горяченькое

Друзья

Hosted by uCoz