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

{

case CurentGameState.SplashScreen:

{

break;

}

case CurentGameState.MenuScreen:

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

graphics.GraphicsDevice.RenderState.DepthBufferEnable = true; // мировая матрица

world = Matrix.CreateTranslation(ball.position); // матрица вида

view = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 150.0f), Vector3.Zero, Vector3.Up); // проекционная матрица

proj = Matrix.CreatePerspectiveFieldOfView(FOV, aspectRatio,

nearClip, farClip);

// рисуем модель на экране

ball.DrawModel(world, view, proj);

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

break;

} }

base.Draw(gameTime);

} } }

Глава 19

Движение моделей _в пространстве

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

Начнем работу над новым проектом BallArray. Полный исходный код этого проекта находится на компакт-диске в папке Code\Chapter19\BallArray. Откройте в проекте BallArray файл ModelClass.cs и приступайте к изучению примера.

19.1. Задаем скорость движения модели

В классе ModelClass добавляется одна новая переменная speed, с помощью которой мы задаем скорость движения объектов в пространстве.

public float speed; public ModelClass()

{

position = new Vector3(0, 0, 0); speed = 20.0f / 60.0f;

}

Переменная speed инициализируется значением 20.0f/60.0f. В данном случае число 60 - это количество секунд в одной минуте. Такая конструкция выбора скорости очень часто встречается в играх.

Для класса ModelClass это все нововведения. Переходим к исходному коду класса Gamel, где нам необходимо создать массив объектов класса ModelClass, а затем реализовать механизм перемещения объектов сверху вниз.

296 Движение моделей в пространстве

Инициализация и установка моделей на позиции 297

19.2. Создаем массив данных

Сначала нужно объявить массив объектов ball класса ModelClass.


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

Горяченькое

Друзья

Hosted by uCoz