Предыдущая Следующая
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 Предыдущая Следующая
|