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

         

Конструктор класса C3DAnimation


Конструктор вызывается в момент создания нового объекта класса анимации. Вот как выглядит его код:

C3DAnimation::C3DAnimation() { int i, j; // Установка количества объектов m_iNumObjects = 0; // Установка количества кадров m_iNumFrames = 0; // Установка начального состояния анимации m_iCurFrame = 0; m_lCurTime = 0; // Инициализация объектов, имен и информации о ключах for(i = 0; i < g_iMaxObjects; i++) { // Объекты m_objObject[i] = NULL; // Имена strcpy(&m_szObjectName[i][0], ""); // Ключи for(j = 0; j < g_iMaxKeys; j++) { m_keyFrames[i][j] = NULL; } } }

Конструктор начинается с присвоения нулевых значений различным членам данных класса. Обнуляется количество объектов и кадров, номер текущего кадра и счетчик времени. Далее расположены два цикла. Внешний цикл присваивает всем указателям на объекты значение NULL, а внутренний цикл присваивает значение NULL указателям на ключевые кадры объектов. Я делаю это для того, чтобы в дальнейшем правильно работали проверки выделения памяти. Как вы возможно знаете, большинство компиляторов не выполняет автоматическое обнуление неинициализированных данных; поэтому данный этап абсолютно необходим.



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