Приставки
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) * rotationMatrixY; ball.DrawModel(world, view, proj);

} } }

При желании можно также вращать мячик сразу по всем трем осям. Для этого достаточно создать еще две матрицы для осей 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 окончена, и мы можем переходить к разработке трех других заставок игры.

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

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

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

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

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

/// <summary>

/// Листинг 21.2

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

/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»

344 Последние штрихи

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

/// Автор книги: Горнаков С. Г.

/// Глава 21

/// Класс: HelpScreen

/// <summary>

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

#reglon Using Statements using System;

using System.Collectlons.Generlc; using Mlcrosoft.Xna.Framework; using Mlcrosoft.Xna.Framework.Audlo; using Mlcrosoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Mlcrosoft.Xna.Framework.Input; using Mlcrosoft.Xna.Framework.Storage; #endreglon


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

Горяченькое

Друзья

Hosted by uCoz