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

21.2. Загружаем в игру стадион

Переходим к загрузке модели стадиона в игру. В качестве основной игровой модели для формирования сцены в игре мы используем модель стадиона, которая была найдена в закромах ресурса Turbosquid.com (рис. 21.1). Эта модель распространяется на бесплатной основе в формате 3ds и создана модельером, зарегистрированным на Turbosquid.com под именем dwallcott (рис. 21.1).

Рис. 21.1. Страница модели стадиона на сайте

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

Итак, перейдем к исходному коду класса Gamel проекта Plane и в области глобальных переменных объявим объект stadium класса ModelClass.

private ModelClass stadium;

Затем в конструкторе класса Gamel или в методе Initialize() создаем новый объект stadium.

stadium = new ModelClass();

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

stadium.Load(content, "Content\\Models\\stadium 1");

В этом же методе выбираем позицию для стадиона на экране монитора.

stadium.position = new Vector3(0, 0, 0);

Стадион мы ставим на экран в нулевые координаты, а за счет удаления камеры от центра экрана (см. раздел 21.1) мы получаем хороший ракурс просмотра всей трехмерной сцены.

Последние установки, связанные с выводом стадиона на экран, происходят в методе Draw().

world = Matrix.CreateTranslation(stadium.position); stadium.DrawModel(world, view, proj);

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

21.3. Новые игровые позиции для мячей

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

По оси X и Y выбор позиции мячей на экране остается прежним.

320 Формируем трехмерную сцену

Небо и тучи 321

Рис. 21.2. Стадион в игре

ball[i].position.X = rand.Next(-(rand.Next(0, 80)), rand.Next(0, 80)); ball[i].position.Y = rand.Next(0, 80);


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

Горяченькое

Друзья

Hosted by uCoz