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

160 Движение спрайтов в пространстве

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

в исходном коде класса Gamel проекта MoveSpriteArray вместо одиночного объявления спрайта появляется объявление массива спрайтов.

Sprite[] sprite = new Sprite[5];

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

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

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

for (int i = 0; sprite.Length > i; {

sprite[i] = new Sprite(12, 10);

}

Проект МоуеБрптеАггау 161

Рис. 8.3. Изображения, загружаемые в игру

Единственное условие в этой конструкции кода заключается в том, чтобы все изображения имели одинаковую анимационную последовательность, то есть количество фреймов всех изображений должно быть одинаково (как у нас в игре). Если одно и более изображений имеют различное количество фреймов, то придется загружать каждый спрайт по отдельности, сделать это можно, например, следующим образом:

зргл_ге[0] = пея Бргл_ге(5, 3);

зргл_ге[1] = пея Брг1ге(8, 2);

зргл_ге[2] = пея Брг1ге(2, 2);

зрг1ге[3] = пея Брг1ге(3, 1);

зрг!ге[4] = пея Брг1ге(15, 2);

После создания массива данных переходим к методу LoadGraphicsContent() и к загрузке в массив данных графических изображений.

162 Движение спрайтов в пространстве

sprite[0].Load(content, «Content\\Textures\\0»);

sprite[1].Load(content, «Content\\Textures\\1»);

sprite[2].Load(content, «Content\\Textures\\2»);

sprite[3].Load(content, «Content\\Textures\\3»);

sprite[4].Load(content, «Content\\Textures\\4»);

Названия для изображений я специально задал в виде цифровых значений, чтобы был понятен механизм загрузки графики для каждого элемента массива данных. Кстати, поскольку имена изображений совпадают с данными массива, то можно реорганизовать вышеприведенный код в цикл, но эти действия выполняйте самостоятельно - домашнее задание ;)


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

Горяченькое

Друзья

Hosted by uCoz