Функция C3DAnimation::iNewObj()
Функция создания нового объекта получает имя файла .x и загружает его в ближайший доступный слот объекта. Вот как выглядит код функции:
int C3DAnimation::iNewObj(char *szObjName) { char szFileName[512]; // Создаем имя файла sprintf(szFileName, "Data\\3DObjects\\%s.x", szObjName); // Устанавливаем указатель на объект m_objObject[m_iNumObjects] = new Object3DClass; m_objObject[m_iNumObjects]->hLoad(szFileName, m_pd3dDevice); // Сохраняем имя для последующего использования strcpy(&m_szObjectName[m_iNumObjects][0], szObjName); // Увеличиваем внутренний счетчик m_iNumObjects++; // Возвращаем количество объектов return(m_iNumObjects); }
В первой части функции создается полностью квалифицированное имя файла. Оно включает путь и имя файла.
В следующем фрагменте кода создается новый объект Object3DClass для хранения данных модели из файла .x. Затем только что созданный объект загружает данные из файла .x с помощью собственной функции hLoad().
Как только данные объекта загружены, код устанавливает имя объекта для дальнейших ссылок. Затем увеличивается счетчик количества объектов и его значение возвращается вызывающей программе.
ПРИМЕЧАНИЕ
Помните, что функция создания нового объекта добавляет новый объект ко всей анимации, а не только к одному ключевому кадру.