Программирование стратегических игр с DirectX 9.0
bda5893f

Функция vLoadObject()

Чтобы начать редактирование анимации, вам необходима анимируемая сцена. Как я говорил ранее, сцена состоит из трехмерных объектов, поэтому вы должны загрузить какие-нибудь объекты для редактирования. Здесь в игру вступает функция vLoadObject(). Она загружает составляющие сцену объекты. Когда вы щелкаете по расположенной на панели команд кнопке LoadObjects выполняется следующий код:

void vLoadObject(void) { // Сброс текущей анимации animTest.vReset(); // Загрузка заданных объектов animTest.iNewObj("droid_still"); animTest.iNewObj("radar_dish"); // Визуализация сцены vRender(); // Обновление панели команд vUpdateToolbarStats(); }

Первая вещь, которую делает функция загрузки объектов, — инициализация объекта класса анимации. Это действие удаляет все проделанные с анимацией к данному моменту манипуляции и возвращает ее к исходному состоянию.

ВНИМАНИЕ!

Не щелкайте по кнопке Load Objects, если у вас есть не сохраненные данные анимации. Все они будут стерты!

Следующий фрагмент кода обращается к функции создающему новый объект методу класса анимации и загружает объекты из двух X-файлов с именами droid_still и radar_dish. Объект droid_still — это механоид, а объект radar_dish — это небольшая антена радара.

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

В конце я вызываю функцию vUpdateToolbarStats(). Она выводит в панели инструментов значения вращения и местоположения объекта в текущем кадре.



Содержание раздела