Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Архитектура движка


Автор: NOT 20.1.2006, 21:16
Есть объект CGameMesh(файлы: CGameMesh.h).
- Создается массив на 120 экземпляров этого объекта: CGameMesh GameMeshMatrix[120];
Массив объекта используется файлами описания логики игры, т.е. над этим массивом объектов в игре основные действия происходят(файлы: CLogic.h(подключается в WinMain.cpp) CLogic.cpp);
Если в файл CLogic.h подключить файл CGameMesh.h, то пишет, мол переопределение переменной(GameMeshMatrix),
если же в CLogic.cpp, то главный файл(WinMain.cpp) не видит(GameMeshMatrix).

- Кто как реализует взаимоотношения между объектом -> логикой -> главным файлом или движком?
- Что можно посоветовать мне по этому поводу?
Движки и DX Sample Framework не предлагайте.
Спасибо.

Автор: mr.DUDA 21.1.2006, 12:33
Цитата(NOT @ 20.1.2006, 20:16 Найти цитируемый пост)
- Кто как реализует взаимоотношения между объектом -> логикой -> главным файлом или движком?

Все по-своему. Главного файла обычно нет, либо есть один .h, в который подключены все остальные заголовочные файлы (aka "главный файл"). Во все .cpp этот "главный" файл подключается по необходимости.

Цитата(NOT @ 20.1.2006, 20:16 Найти цитируемый пост)
- Что можно посоветовать мне по этому поводу?

Переменная объявляется в .h-файле как extern, и в .cpp-файле "заново" объявляется уже без extern. Для доступа к этой переменной из другого .h/.cpp достаточно подключить .h, в котором переменная объявлена как extern.

Автор: NOT 21.1.2006, 13:53
Спасибо. Я так и сделал. Уже разобрался. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)