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

Что касается задания координаты по оси Y, то она, как вы заметили, отрицательна. Это позволяет рисовать спрайт в верхней части дисплея за пределами видимости экрана и затем перемещать спрайт вниз (рис. 8.2). Таким образом достигается эффект плавного появления, или выезда, спрайта из верхней части экрана и всего игрового пространства. Это красиво, эффектно, и если этого не делать и рисовать спрайт в положительных значениях оси Y, то объекты будут появляться резко и как бы ни с того ни с сего. Так делать нельзя, по крайней мере, в нашей игре точно. В других играх могут быть свои задачи, поэтому этот подход имеет право на жизнь.

После создания метода MoveSprite() необходимо поместить вызов этого метода в метод Update(GameTime gameTime) класса Gamel. Тогда на каждой итерации игрового цикла будет происходить вызов метода MoveSprite() и соответственно обновление состояния спрайта, а также обработка ситуации с выходом спрайта из зоны видимости. Исходный код проекта вы найдете на компакт-диске в папке Code\Chapter8\MoveSprite, а мы переходим к рассмотрению следующего проекта MoveSpriteArray.

8.2. Проект MoveSpriteArray

Задача этого проекта заключается в том, чтобы добавить в игру дополнительные объекты. Сделать это можно несколькими способами, но самый «продвинутый» и профессиональный способ сводится к организации простого массива данных. Поэтому в проекте MoveSpriteArray мы реорганизуем способ объявления и создания спрайта на создание массива данных, состоящего из пяти спрайтов. Для этого в исходном коде класса Gamel проекта MoveSpriteArray вместо одиночного объявления спрайта появляется объявление массива спрайтов.

Рис. 8.2. Назначение спрайту новой позиции в игровом пространстве

Sprite[] sprite = new Sprite[5];

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

Все изображения, загружаемые в игру, размещаются в рабочем каталоге проекта в папках Content\Textures. Не забывайте, что все пять рисунков необходимо явно добавить в проект посредством команд Add = Exiting Item, как мы это делали в предыдущих главах.

Далее в конструкторе класса Gamel происходит создание пяти объектов. Для этих целей используется обычный цикл for.


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

Горяченькое

Друзья

Hosted by uCoz