22.10.2006, 22:48 | #222 | ||
Новичок
Регистрация: 05.10.2006
Адрес: www.bestplay.ucoz.ru
Сообщений: 52
Репутация: 2
|
Люди, подскажите плиз какую-нибудь прогу, где можно делать простенькие игры, но чтобы было ну очень легко освоить
__________________
http://www.bestplay.ucoz.ru/ Сайт про игры, кино, музыку, да и просто про жизнь |
||
|
22.10.2006, 23:59 | #223 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Копируешь все из папок lib и include в соответствующие папки в дирректории <дирретория Visual Studio>\vc7. Кроме того, кидаешь DLL к экзешнику каждого проекта, юзающего Irrlicht.
Редактор твоей любимой игры. Проще не найдешь. Мне, например, очень нравится редактор StarCraft. Вроде даже в WarCraft 3 он намного мощнее, а вот поди ж ты...
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
23.10.2006, 00:17 | #224 | ||
Юзер
Регистрация: 13.05.2006
Сообщений: 273
Репутация: 92
|
Цитата:
|
||
|
24.10.2006, 18:16 | #225 | ||
Новичок
Регистрация: 26.03.2006
Сообщений: 0
Репутация: 3
|
Цитата:
Вообще, всё зависит от тебя, если ты знаешь основы базовых языков типа Pascal или Basic, то тебе не сложно будет разобраться в каком-нибудь Blitz3D. Все программы, в которых программирование сведено к минимуму - это просто движок и редактор левелов, но и там тебе надо будет писать скрипты. На счет Game Maker - не пробывал, но говорят очень простой, попробуй, потом расскажешь . |
||
|
24.10.2006, 18:26 | #226 | ||
Юзер
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112
|
Зачем учить basic для разработки игр? Все равно ничего толкового не написать! Надо учить С++ и работать с такими движками, как irrlicht (сейчас сам его изучаю), или неплохой 2D жвижок Haaf's Game Engine 1.6 (HGE). Вот
__________________
www.rodionovstepan.ru Последний раз редактировалось razor21; 24.10.2006 в 18:32. |
||
|
24.10.2006, 19:03 | #227 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Цитата:
http://forum.igromania.ru/showpost.p...6&postcount=32 http://forum.igromania.ru/showpost.p...5&postcount=45 http://forum.igromania.ru/showpost.p...9&postcount=86 http://forum.igromania.ru/showpost.p...7&postcount=87 http://forum.igromania.ru/showpost.p...3&postcount=88
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
24.10.2006, 20:04 | #228 | ||
Юзер
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112
|
У меня вопрос к тебе, как к хорошему знатоку irrlicht'a:
при компиляции моего первого проекта у меня возникает ошибка, точнее при запуске: "Unable to start program 'c:/_______/razor21/мои док./vis studio proj/irr_hello/irr_hello.exe' - Не удается найти указанный файл!" Как мне ее решить? Вот код, который я написал: Код:
#include "irrlicht.h" using namespace irr; using namespace core; using namespace video; using namespace scene; using namespace io; using namespace gui; #pragma comment(lib, "C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib/Irrlicht.lib" int main() { IrrlichtDevice *device = createDevice(EDT_SOFTWARE, dimention2d(512, 384), 16, false, false, false, 0); device->setwindowcaption(L"Hello, World! Irrlicht DEMO"; IVideDriver *driver = device->getVideoDriver(); ISceneManager *smgr = device->getSceneManager(); IGUIEnvironment *guienv = device->getGUIEnvironment(); guienv->addStaticText(L"Hello, World!", rect(10, 10, 200, 22), true); } Заголовочный файл irrlicht.h тоже подключить не забыл.
__________________
www.rodionovstepan.ru |
||
|
24.10.2006, 21:06 | #229 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Больше похоже на то, что проблема не в irrlicht, а в файловой системе - компилятор, по-видимому, не может найти только что скомпиленый экзешник для запуска. попробуй сохранять проект в какой-нибудь более нормальной папке, а не в "Моих документах", причем без русских букв. Я вообще обычно стараюсь делать имена папок только английскими, причем даже без пробелов. Также не забудь, что в папке с экзешником должны лежать Irrlicht.dll и (если проект .NET) Irrlicht.NET.dll. Также может быть, что у тебя как-то не так настроен компилятор (обычно он сохраняет екзешник в папке Debug либо Release в зависимости от режима).
Кстати, к lib-файлу в #pragma вовсе не обязательно указывать полный путь, если он находится в папке lib компилятора, хватит и просто имени файла. И как ты себе представляешь работу этой программы? У тебя же в ней цикла нет, она у тебя сразу завершит работу! Добавь-ка Код:
while(device->run()) { driver->beginScene(true, true, SColor(255,100,101,140)); smgr->drawAll(); guienv->drawAll(); driver->endScene(); } device->drop();
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
24.10.2006, 22:52 | #231 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Цитата:
А вот чтобы модифицировать движок под свои нужды, нужны уже знания поглубже. Впрочем, такая необходимость бывает нечасто. Мне пока что было необходимо лезть в движок всего два раза - один раз посмотреть, в каком порядке матрицы перемножаются для вычисления поворота, и один - исправить ошибку в классе системы частиц и дописать еще пару эмитеров.
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
25.10.2006, 18:37 | #232 | ||
Новичок
Регистрация: 26.03.2006
Сообщений: 0
Репутация: 3
|
Да я ничего против C++ не имею! Я только за, т.к. сам учусь на программиста и понимаю все преимущества языка си . Но BestPlay сказал, что ему нужно делать простенькие игры, кстати, я не сказал учить бейсик, я предложил блитц как вариант, если он упешно изучил бейсик в школе. Как я понял ему надо "быстро и просто", вы представляете сколько времени и сил он потратит на изучение си?
|
||
|
26.10.2006, 09:04 | #234 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Сильно. Во-первых, его изучить проще, чем DirectX. Во-вторых, код с использованием Irrlicht писать быстрее, чем код с использованием непосредственно DirectX. В-третьих, многие наиболее употребляемые фишки в Irrlicht уже реализованы (например, генерация земли по карте высот, системы частиц и т.п.). В-четвертых, Irrlicht может использовать как OpenGL, так и DirectX, а может и вообще в Software варианте работать. При этом для переключения тебе достаточно изменить всего одно значение, ну и шейдеры нужные грузить. Также нужно отметить, что в Irrlicht реализована загрузка многих популярных типов файлов (как 3d-моделей, так и текстур), тогда как в DirectX, например, из 3D-моделей по-умолчанию только x-файлы грузит. А из текстур Irrlicht, например, даже фотошоповские psd грузить умеет.
В остальном Irrlicht можно считать надстройкой над OpenGL/DirectX, объединяющей их разрозненную структуру с длинными именами в удобные классы.
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
26.10.2006, 15:46 | #236 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Нет, если ты не будешь перекомпиливать исходники Irrlicht. Впрочем, DirectX SDK тебе все равно может понадобится, так как Irrlicht - чисто графический движок. В него не входят компоненты работы с сетью и со звуком. Впрочем, Direct Sound есть очень простая вещь. Про DirectPlay практически ничего сказать не могу - мне нравится Winsock, и я юзаю его.
P.S. Кстати, я надеюсь, ты выше имел ввиду DirectX SDK, а не собственно библиотеку?
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
27.10.2006, 12:42 | #237 | ||
Юзер
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112
|
У меня назрели некоторые вопросы по Irrlicht'у:
1. Можно ли менять цвет кнопок, edit box'ов, label'ов, заднего фона? Как? 2. Как поменять размер шрифта? 3. Поддерживает ли Irrlicht русские буквы? 4. Как работать с таймером? т.е. как его подключить к проекту и примерно покажите синтаксис такого примера: каждую секунду значение label'а возрастает на 1. Подскажите....
__________________
www.rodionovstepan.ru Последний раз редактировалось razor21; 27.10.2006 в 12:48. |
||
|
27.10.2006, 13:49 | #238 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Цитата:
Код:
#define ALPHA 255 for (s32 i=0; i<EGDC_COUNT ; ++i) { SColor col = env->getSkin()->getColor((EGUI_DEFAULT_COLOR)i); col.setAlpha(ALPHA); env->getSkin()->setColor((EGUI_DEFAULT_COLOR)i, col); } env->getSkin()->setColor(EGDC_3D_FACE, SColor(ALPHA,0,128,0)); env->getSkin()->setColor(EGDC_3D_SHADOW, SColor(ALPHA,0,128,0)); env->getSkin()->setColor(EGDC_HIGH_LIGHT , SColor(ALPHA,0,128,0)); env->getSkin()->setColor(EGDC_3D_HIGH_LIGHT, SColor(ALPHA,128,160,128)); env->getSkin()->setColor(EGDC_WINDOW, SColor(ALPHA,128,160,128)); #undef ALPHA Где? Если в интерфейсе, то шрифт меняется так: Код:
env->getSkin()->setFont(IGUIFont *Font) Да, а то как бы моя игра была на русском языке. Но, во-первых, русские буквы должны быть в шрифте (а шрифт в Irrlicht берется из bmp-файла определенного формата, причем идущая с ним программа для создания этого файла IrrFontTool почему-то шрифты с кириллицей конвертирует как без кириллицы). Я обошел это так: взял моноширинный шрифт и нарисовал все вручную. Могу поделится: http://www.amais.org.ru/file/index.p...tory=Irrlicht& Цитата:
Код:
device->getTimer()->getTime(); Код:
device->getTimer()->getRealTime(); Код:
TTimer::TTimer() { next_act_time = device->getTimer()->getTime() + interval; } void TTimer::checkTimer(unsigned int curTime) { while (curTime >= next_act_time) { next_act_time += interval; OnTimer();//Процедура, срабатывающая в таймере } }
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) Последний раз редактировалось pokibor; 27.10.2006 в 13:54. |
||
|
27.10.2006, 14:06 | #240 | ||
Кандидат наук
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,354
Репутация скрыта
|
Кстати, вообще с русскими буквами в Irrlicht не все понятно. В большиснтве случаев строка для вывода имеет тип wchar_t * и можно подумать, что писать нужно в кодировке unicode. Так вот, это не так. нужно писать в обычной windows'овской кодировке, но как wchar_t. При этом компилятор жутко тупит... в общем, я пока обнаружил единственный способ писать в коде русские wchar_t-константы - писать их как массив из char и приводить ссылку на него к ссылке на wchar_t (в игре я, кстати, это не использую - у меня весь текст идет из ресурсных файлов):
В общем, пишется все так: ((wchar_t *)"Р\0у\0с\0с\0к\0о\0е\0 \0с\0л\0о\0в\0о\0\0") То есть после каждой буквы ставится нулевой байт, потом это все трактуется как wchar_t (т.е. 2 байта на символ) - и все получется верно. Сдается мне, если разместить русские буквы в шрифте подальше, то все, может, и нормально будет, но это не факт, а так у меня все работает. И не забудь в конце ставить лишний \0, так как еще один \0 к нему добавится как конец char-строки.
__________________
Товарищ, верь: пройдет она - Эпоха лживых, злых понятий. Весь мир очнется ото сна, И на обломках "демократий" Напишут наши имена! Мы были волшебницами (оригинальное фентези) Тень Войны (фанфик по ГП) |
||
|
|