Пост N: 51
Зарегистрирован: 01.11.06
Откуда: Москва
Рейтинг:
0
Отправлено: 30.01.07 07:53. Заголовок: Программирование стратегических игр с DirectX 9.0
[реклама вместо картинки]
Тодд Баррон Программирование стратегических игр с DirectX 9.0
Книга «Программирование стратегических игр с DirectX 9.0» охватывает все темы, которые следует знать, чтобы создать собственную стратегическую игру на С++ с использованием DirectX. Книга выделяет процесс разработки игры и исследует игровые механизмы, управление ресурсами, разработку интерфейса, добавление звукового оформления и многое другое. Более сложные темы включают поиск пути, визуализацию стистем частиц и реализацию сетевого многопользовательского режима.
Прочитав эту книгу вы
узнаете об утилитах для управления проектами, которые могут облегчить процесс разработки;
изучите основные концепции использования блочной графики для реализации ландшафтов;
сможете реализовать высококачественное звуковое сопровождение с помощью интерфейсов DirectMusic и DirectSound;
создадите собственный редактор карт и узнаете как генерируются случайные карты;
узнаете как использовать ключевые кадры и анимационные наборы для анимации трехмерных объектов;
поймете как алгоритм А* находит лучший путь на вашей карте;
создадите использующие системы частиц спецэффекты, такие как взрывы и дымовые следы.
Исходный код рассматриваемых в книге примеров может быть загружен с сайтов www.wordware.com/files/games и www.lostlogic.com.
c:\c++\стратегії\dxsdk\samples\c++\common\src\d3dfont.cpp(53) : warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. d:\program files\microsoft visual studio 9.0\vc\include\string.h(157) : see declaration of 'strncpy' d3dsettings.cpp Это сообщение говорит, что лучше будет вызвать более безопасную ф-ию strncpy_s, нежели strncpy. Для того, чтобы скрыть это предупреждение используйте _CRT_SECURE_NO_WARNINGS. Смотрите онлайн помощь для более детального описания проблемы. Далее пишется: посмотрите на определение ф-ии strncpy в файле d3dsettings.cpp. Скажу от себя, что невелика беда использовать небезопасную ф-ию. Т.о. если ты используешь _CRT_SECURE_NO_WARNINGS, то дальше предупреждений на данную тему выходить не должно. И 33 warning(s) превратится в 0 warning(s). Насчёт ошибки, c:\c++\стратегії\dxsdk\samples\c++\common\src\d3dapp.cpp(1582) : error C2051: case expression not constant. Перевожу величина при case не константа. Пример смотри тут http://msdn.microsoft.com/en-us/library/ez8ttz2y.aspx?ppud=4 . Короче тебе придётся найти в коде d3dapp.cpp ветвление switch-case и подправить данный казус. За не имением всех файлов необходимых для компиляции данного примера, во очию у меня увидеть этого не получилось. Если выложишь все недостающие файлы, могу попробывать. И совет на будущее пойск в МСДН не помешает.
Изначально файла "Common" в СДК не было я скачал, там есть все указанные ниже файлы, которые якобы он не может найти. В данный момент полный путь до например "dxutil.cpp" на моем компе следующий: C:\Program Files\Microsoft DirectX SDK (March 2008)\Samples\C++\Common\Src\dxutil.cpp
а внизу путь явно не верный, помогите мне его правильно сменить :(( я в Microsoft Visual Studio 9.0 не могу нормально прописывать пути :( Очень надеюсь на Вашу помощь.
------ Построение начато: проект: D3DFrame_2DTiles, Конфигурация: Debug Win32 ------ Компиляция... d3dapp.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dapp.cpp: No such file or directory d3denumeration.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3denumeration.cpp: No such file or directory d3dfont.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dfont.cpp: No such file or directory d3dsettings.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dsettings.cpp: No such file or directory d3dutil.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dutil.cpp: No such file or directory dxutil.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\dxutil.cpp: No such file or directory Main.cpp c:\documents and settings\admin\desktop\book\barron_strategygameprogdx9.0\rtssource\d3dframe_2dtiles\main.h(25) : fatal error C1083: Не удается открыть файл include: D3DEnumeration.h: No such file or directory Создание кода... Журнал построения был сохранен в "file://c:\Documents and Settings\Admin\Desktop\book\Barron_StrategyGameProgDX9.0\RTSSource\D3DFrame_2DTiles\Debug\BuildLog.htm" D3DFrame_2DTiles - ошибок 7, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Изначально файла "Common" в СДК не было я скачал, там есть все указанные ниже файлы, которые якобы он не может найти. В данный момент полный путь до например "dxutil.cpp" на моем компе следующий: C:\Program Files\Microsoft DirectX SDK (March 2008)\Samples\C++\Common\Src\dxutil.cpp
а внизу путь явно не верный, помогите мне его правильно сменить :(( я в Microsoft Visual Studio 9.0 не могу нормально прописывать пути :( Очень надеюсь на Вашу помощь.
------ Построение начато: проект: D3DFrame_2DTiles, Конфигурация: Debug Win32 ------ Компиляция... d3dapp.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dapp.cpp: No such file or directory d3denumeration.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3denumeration.cpp: No such file or directory d3dfont.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dfont.cpp: No such file or directory d3dsettings.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dsettings.cpp: No such file or directory d3dutil.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\d3dutil.cpp: No such file or directory dxutil.cpp c1xx : fatal error C1083: Не удается открыть файл источник: ..\..\..\DXSDK\Samples\C++\Common\Src\dxutil.cpp: No such file or directory Main.cpp c:\documents and settings\admin\desktop\book\barron_strategygameprogdx9.0\rtssource\d3dframe_2dtiles\main.h(25) : fatal error C1083: Не удается открыть файл include: D3DEnumeration.h: No such file or directory Создание кода... Журнал построения был сохранен в "file://c:\Documents and Settings\Admin\Desktop\book\Barron_StrategyGameProgDX9.0\RTSSource\D3DFrame_2DTiles\Debug\BuildLog.htm" D3DFrame_2DTiles - ошибок 7, предупреждений 0 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
--------------------Configuration: D3DFrame_2DTiles - Win32 Debug-------------------- Compiling... d3dapp.cpp c:\dxsdk\samples\c++\common\src\d3dapp.cpp(834) : error C2065: 'ULongToHandle' : undeclared identifier d3denumeration.cpp d3dfont.cpp d3dsettings.cpp c:\dxsdk\samples\c++\common\src\d3dsettings.cpp(276) : error C2664: 'DialogBoxParamA' : cannot convert parameter 4 from 'long (struct HWND__ *,unsigned int,unsigned int,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,unsigned int,long)' None of the functions with this name in scope match the target type c:\dxsdk\samples\c++\common\src\d3dsettings.cpp(498) : error C2065: 'ULongToPtr' : undeclared identifier c:\dxsdk\samples\c++\common\src\d3dsettings.cpp(671) : error C2065: 'UlongToPtr' : undeclared identifier d3dutil.cpp dxutil.cpp Main.cpp Error executing cl.exe.
D3DFrame_2DTiles.exe - 4 error(s), 0 warning(s)
А если ошибки по-прежнему остались? Компилю в 6-ой версии, direct X со всеми библиотеками и хеадерами есть(правда часть 1997 года, а часть 2004, здесь ссылки уже старые, пришлось по всему интернету собирать), basetsd.h так же есть и прописан в main.h. Ошибка так и осталась.
Кстати, скачал с майкрософта СДК 2007 майский, так там часть файлов тоже осутствует(справочные и подключаемые файлы для C++)...
Отправлено: 10.01.11 21:30. Заголовок: netlib пишет: Эти ..
netlib пишет:
цитата:
Эти ошибки возникают из-за того, что в новой версии SDK нет файла basetsd.h. Я скопировал его в папку Common и в файл main.h добавил#include "basetsd.h". Если вы скопировали фреймворк по приведенной выше ссылке, там уже есть basetsd.h.
5. Компилим снова. Все проходит успешно, но при компоновке не находится библиотека d3dx9dt.lib. Копируем его из старого SDK в
Оказалось мало их просто добавить, нужно подобрать подходящие версии этих файлов,так, например, basetsd.h подошел года 1999(в ранних версиях не было ничего про uLongToPtr),а библиотека d3dx9dt.lib подошла 2002. В общем я рад,что собрал все это наконец, РАБОТАЕТ !!!
Все даты в формате GMT
3 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет