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

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

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

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

public float speed; public ModelClass()

{

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

}

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

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

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

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

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

private ModelClass [] ball = new ModelClass[3]; Random rand = new Random();

Попутно происходит объявление объекта rand. Этот объект rand позволит в программе генерировать случайные числа. В двухмерной игре, как вы помните, мы также применяли данный объект.

Далее в конструкторе класса Gamel происходит создание массива объектов ball при помощи цикла for.

for (int i = 0; ball.Length > i;

{

ball[i] = new ModelClass();

}

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

Теперь переходим к методу LoadGraphicsContent(), который отвечает за загрузку в игру различных графических данных.

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{

ball[0].Load(content, «Content\\Models\\Soccerball»);

ball[1].Load(content, «Content\\Models\\SoccerballGreen»);

ball[2].Load(content, «Content\\Models\\SoccerballRed»);

for(int i = 0; ball.Length > i;

{

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

ball[i].position.Y = rand.Next(50, 80); ball[i].position.Z = -(rand.Next(20, 100));

} }

}

Модель мячика, взятая с сайта Turbosquid.com, изначально имеет только два цвета - серый и синий. Чтобы разнообразить игру, я покрасил средствами 3ds Max шашки синего цвета в зеленый и красный цвета. Таким образом, у нас теперь имеется три разных мячика с тремя разными цветами и тремя разными названиями:


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

Горяченькое

Друзья

Hosted by uCoz