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

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

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

* rotationMatrixY;

При желании можно также вращать мячик сразу по всем трем осям. Для этого достаточно создать еще две матрицы для осей X и Z, умножить их на какое-то число, а затем элементарно перемножить матрицы между собой, сохранив полученное значение в мировой матрице. Например, вот так:

angle += (float)(gameTime.ElapsedGameTime.TotalSeconds * 2.0f); Matrix rotX = Matrix.CreateRotationX((float)angle); Matrix rotY = Matrix.CreateRotationY((float)angle); Matrix rotZ = Matrix.CreateRotationZ((float)angle);

world = Matrix.CreateTranslation(ball.position) * rotX * rotY * rotZ; ball.DrawModel(world, view, proj);

На этом разработка класса SplashScreen окончена, и мы можем переходить к разработке трех других заставок игры.

22.3. Заставки Помощь, Об игре и Книги

Для создания трех оставшихся заставок игры мы возьмем исходный код класса SplashScreen и добавим в него ряд изменений. Основным отличием оставшихся заставок от титульной заставки (за исключением смены текста на футбольных полях) является наличие не одного мяча, а трех (рис. 22.4).

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

В листинге22.2 вашему вниманию представлен класс HelpScreen. Этот класс аналогичен двум другим классам AboutScreen и BooksScreen. В этих классах изменяется только текст, размещенный на футбольных полях. Полный исходный код проекта находится в папке Code\Chapter22\Menu.

Рис. 22.4. Пример оформления одной из заставок

//=========================================================================

//=========================================================================

/// <summary>

/// Листинг 22.2

/// Исходный код к книге:

/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г.

/// Глава 22

/// Проект: Menu

/// Класс: HelpScreen

/// Меню

/// <summary>


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

Горяченькое

Друзья

Hosted by uCoz