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

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

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

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

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

{

ball[i] = new ModelClass();

}

19.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, 80)), rand.Next(0, 80));

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

} }

}

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

□ Мячик Soccerball - это базовая модель с синими шашками.

□ Мячик SoccerballGreen - эта модель с зелеными шашками.

□ Мячик SoccerballRed - этот мяч имеет красные шашки.

В исходном коде метода LoadGraphicsContent() с помощью цикла for и метода rand.Next() генерируются случайные координаты в пространстве по всем трем осям для вывода мячей на игровые позиции. В этом блоке кода вас может заинтересовать выбор позиции по оси X.

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

Дело в том, что метод rand.Next() может генерировать только положительные числа, но нам необходимо иметь еще и отрицательные значения. Как мы помним, каждая модель в пространстве наделяется своей собственной локальной системой координат, где нулевая точка отсчета модели находится в центре экрана (при нулевых значениях координат по осям X и Y для точки просмотра сцены). Это значит, что движение модели в левую сторону - это движение модели в отрицательной плоскости оси X. Движение модели в правую сторону - это движение в положительной части оси Х. По оси Y для движения вверх нужно выбирать положительные значения, а для движения вниз - отрицательные.


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

Горяченькое

Друзья

Hosted by uCoz