Предыдущая Следующая
Делается это только с одной целью - для того чтобы украсить игру. Сначала на экране мы нарисуем фоновый рисунок, затем на этом фоне будем рисовать падающие объекты, а затем поверх всей графики наложим рамку. Получится, что все игровые объекты (кроме платформы) будут перемещаться (падать вниз) между фоном и рамкой. К самой рамке мы еще подрисуем трос и поверх рамки в следующих главах нарисуем платформу. Таким образом, все объекты будут красиво падать между фоном и рамкой, а платформа - скользить по тросу. Если пользователь не успеет поймать объект своего желания, то он красиво упадет под рамкой и тросом, но поверх фонового изображения. Такой механизмы слоев позволяет формировать в двухмерных играх полноценный Z-буфер или ось Z.
Графические файлы фонов backgroundl.png и background2.png располагаются в рабочем каталоге проекта в папке Content\Textures. Добавление изображений в проект необходимо произвести явно через выполнение команд Add == Exiting Item (глава 6,раздел 6.2), как это мы делали для изображения sprite.png.
Загружать фоновое изображение мы будем напрямую прямо в классе Gamel, поскольку для фона не определено никаких дополнительных функций, то и создание отдельного класса для фона или использование класса Sprite не обязатель-
но. Если же в других ваших играх фоновое изображение будет иметь гораздо больше функциональных возможностей, например механизм скроллинга, то стоит создать для этих целей отдельный класс. Пример реализации скроллинга в играх показан в документации к XNA Game Studio Express (Раздел Programming Guide == Graphics == 2D Graphics = Make a Scrolling Background).
В листинге 7.3 представлен код класса Game1 проекта Background. Полный исходный код всего проекта находится на компакт-диске в папке Code\Chapter7\ Background.
//=========================================================================
/// <summary>
/// Листинг 7.3
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г.
/// Глава 7
/// Проект: Background /// Класс: Game1 /// Добавляем фон /// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion Предыдущая Следующая
|