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