Доброго времени суток. У меня возникли проблемы с движком DGLE2, а проблема вот в чем, я не могу его "подключить" к С++. У меня установлен Borlend C++ Builder Enterprise 6.0, в уроке по DGLE2, написано как его подключить, но у меня нет в выборе типа проекта "Win32 Project", да и вообще нет такого пути "File->New Project", подскажите, что я не так делаю или может я использую не то программное обеспечение? P.S. А может мне вообще не стоит начинать работу с "движками"?
facepalm. Написано же, что в уроке используется Visual Studio. Наверное у них с билдером интерфейс-то отличается. По логике вещей, интерфейс билдера похож на интерфейс Delphi.
Сообщение отредактировал SlavyanOOs - Среда, 13 Апреля 2011, 09:36
noTformaT, SlavyanOOs, спасибо за советы, но я так и не понял, что к чему, другие движки на С++ запускаются, а этот, такую кучу ошибок выдает, что аж волосы дыбом! Тему в топку, буду "нубиться" в конструкторах, пока программиста не найду или сам не изучу до конца С++.
Сообщение отредактировал ZiP - Среда, 13 Апреля 2011, 12:58
noTformaT, я то С++ знаю, но вот, что то получается не доучил... Буду по новой штудировать учебники и выедать мозг бывшим преподам... И еще раз спасибо за совет.
ZiP, Билдер больно старый. Движок отлично работает например с C++ Builder 2009. С более ранними версиями не проверялось. Есть в SDK движка даже пример Source\Samples\CPP_Builder собственно работы с билдером. А вообще Visual Studio для С++ намного лучше. http://dglengine.org - Движок DGLE http://dronprogs.org - Моя хоумпага
с++ и с++Билдер это разные вещи, как бы, но не знаю поддерживает ли с++Билдер стандарт ISO. То есть есть ли возможность запустить код с++ на с++Билдере :)
DRON_proger, хмм... Попробую найти 2009, просто у меня 6-ой куплен, как то жалко... Ну раз нет других вариантов, то буду искать 2009 или Visual Studio для С++.
ZiP, Visual Studio Express распространяется бесплатно и вполне функциональна, для игр есть все что надо. http://dglengine.org - Движок DGLE http://dronprogs.org - Моя хоумпага
В главном меню выбираем File->New Project, в появившемся окне в разделе C# выбираем «Console Application» и указываем путь в строке «Location» до папки «Src», убираем галку «Create directory for solution» и жмем «OK». Закрываем окно студии. В папке «Src» создастся подпапка с именем которое вы присвоили проекту, все ее содержимое переносим на уровень выше в папку «Src», а созданную папку можно теперь удалить. Теперь снова открываем проект, в свойствах проекта для всех конфигураций в «Output Directory» указываем относительный путь до папки «Bin», у меня он такой «..\..\Bin». Там же меняем свойство «Output Type» с «Console Application» на «Windows Application». Далее, открываем «Program.cs» и заменяем весь код в файле на этот:
Код
using System; using System.Collections.Generic; using System.Windows.Forms;
namespace Tutorial { class Program { [STAThread] static void Main() {
} } }
Метод Main класса Program будет нашей точкой входа в приложение, именно ее вызывает Windows при запуске EXE файла.
Подключаем движок
Собственно, теперь у нас есть чистый проект, к которому мы будем подключать движок. Следующим шагом нужно перенести DLL движка «DGLE2.dll» в папку «Bin», а заголовочные файлы для соответствующего языка в папку «Src». Для C# это будет ассамблея «DGLE2_sharp.dll» и ее лучше положить в папку «Bin». Теперь подключаем заголовочные файлы к проекту. В «References» добавляем «DGLE2_sharp.dll». Для этого щелкаем по ним правой кнопкой выбираем «Add Reference…» в появившемся окне переходим на вкладку «Browse» и указываем «DGLE2_sharp.dll». После чего в «Program.cs» добавляем строчку:
Код
using DGLE2, DGLE2_types;
Главным интерфейсом движка является IEngineCore и что бы начать работать с движком нам нужно получить его из библиотеки. Для этого нужно подключить библиотеку к экзешнику, а затем вызвать функцию которая вернула бы нам этот интерфейс. Для упрощения этой задачи в заголовочных файлах есть специальная функция GetEngine, которая сделает всю работу и вернет интерфейс.
Код
static IEngineCore pEngineCore = null;
[STAThread] static void Main() { if (Engine.GetEngine("DGLE2.dll", out pEngineCore)) { Engine.FreeEngine(); } else MessageBox.Show("Couldn't load \"DGLE2.dll\"!", "Tutorial", MessageBoxButtons.OK, MessageBoxIcon.Error); }
В C# нужно в свойствах проекта в разделе «Build» параметр «Platform Target» изменить с «AnyCPU» на «x86». Движок скомпилирован под архитектуру x86(не считая специальной версии «DGLE2_x64.dll»