там есть 6 туториал по работе с меню.
собственно говоря я его и взял, только изменил конструктор с
hgeGUIMenuItem::hgeGUIMenuItem(int _id, hgeFont *_fnt, HEFFECT _snd, float _x, float _y, float _delay, char *_title) { ... }
на
hgeGUIMenuItem::hgeGUIMenuItem(int _id, HEFFECT _snd, HTEXTURE _tex, float _x, float _y) { id=_id; eff = _snd; x = _x; y = _y; ActiveButton = new hgeSprite(_tex, 0, 0, 33, 29); rect.Set(_x, _y, _x+32, _y+29); }
перед
hgi->System_Start()
написал
Gui->AddCtrl(new hgeGUIMenuItem(1,hge->Effect_Load("Sound\\click.wav"),hge->Texture_Load("Gui\\right_push_menu_main.png"),520,109)); Gui->AddCtrl(new hgeGUIMenuItem(2,hge->Effect_Load("Sound\\click.wav"),hge->Texture_Load("Gui\\right_push_menu_main.png"),719,247));
у меня на фоне нарисовано уже сразу всё меню с кнопками, т.е. что бы мне подсветить кнопку надо просто поверху вывести это подсвеченную кнопку, а потом убрать и снова будет defaul-ое меню. Но я хочу сделать что бы при нажатии на одну из кнопок (1 или 2)
не отпуская левую кнопку мыши загружалась точней отображалась эта текстура right_push_menu_main.png, а когда отпустил кнопку снова стало прежнее меню. Как это сделать, а то я запутался в методах hgeGUI. в обработчике MouseLButton я пишу
if(bDown) { ActiveButton->Render(x,y); hge->Effect_Play(eff); }
с одной стороны вроде и праивльно, оно выводит но только один раз за одну итерацию цикла, нажал (даже не отпуская ) сработал этот код один раз, кнопка отобразилась и быстро исчезла что только успел след на экране увидить. Ну как её задержать на экране до тех пор пока не отпущу левую кнопку мыши? Пробывал писать в Методе Render() следующее
ActiveButton->Render(x,y);
тогда выводится сразу две кнопки и без изменения остаются там висеть.
проверь почту
Upiter
ответил....
надеюсь это то что мне нужно
Еще вопросики по HGE))
Недавно вот решил игруху написать.. В C++ Builder работаю достаточно давно, но игрухи раньше никогда не писал.. Для начала решил попробовать HGE... В целом все понятно, прикольный движок, понравился, но вот возникла пара вопросов..
1) Есть ли в HGE ограничение по FPS?.. У меня графа в игрухе в принципе простая, но движок постоянно использует все 100%CPU.. То есть выдает максимально возможное FPS.. Неплохо было бы как-нить ограничить этот "беспредел"))))
2) Можно ли как-нить в HGE рисовать сглаженые линии(antialiased)? Или для этого надо писать свой фильтр? И есть ли вообще движки, позволяющие сразу же (без создания отдельных сглаживающих фильтров) рисовать такие линии?..
3) Что такое HGE::Gfx_StartBatch и HGE::Gfx_FinishBatch и с чем их едят?))
В описании есть такая строчка:
This may be used for tasks like sofisticated geometry or texture effects or complex precalculated objects rendering
Но в примерах я ничего про эти ф-ции не нашел.. Расскажите о них по подробнее и как их использовать.
4) Насколько я понял, HGE при инициализации всегда создает свое отдельное окно и запихнуть картинку, создаваемую движком, на свою форму(родную, билдеровскую) никак нельзя? Так ли это или есть какие-нить способы встроить получившеееся изображение в свою форму?
Заранее спасибо всем ответившим)))
В билдере с hge не работал но вообще надо поставить эту строку
hge->System_SetState(HGE_FPS, 150);
что бы ограничить FPS - но лучше этим не заниматься.
2. в этом движке я такого не видел(может потому что не искал), на счёт других не знаю
3. не работал с этим
4. Я думаю что если тебе удаться подключить hge при обычном проекте, файл new aplication то может что нибудь и выйдет, но в описании написано что надо создавть консольное приложение, наверно врядли....
А почему билдер а не визуал?
1) Спасибо, буду читьать доку внимательнее))) А почему лучше этим не заниматься?(интересно просто..)
2) Лан, эт я так.. Сам напишу, не проблема..
3) Ясн.. Мож все-таки кто-нить знает что это? Мож пригодится)))
4) Хм.. Вообще я без проблем подключал hge оконному приложению... Но после System_Initiate() автоматически создается новое окно, в котором и рисуется вся hge-картинка...
Что ты имел ввиду под "подключить hge при обычном проекте"? Собственно, я и подключаю hde при обычном проекте(файл->new aplication)...
Почему билдер? Ну так уж сложилось.. Как то давным давно начал писать на билдере... А вообще не вижу особых причин переходить на визуал. Я работаю с оконными приложениями, а всякие кнопочки-таблички, имхо, удобнее реализованы в билдере.. Ну куча еще разных мелочей, к которым я уже привык)))...
я думал ты полноценную игру делаешь на весь экран, а если оконное приложение с кнопками тогда всё норма....
>Собственно, я и подключаю hge при обычном проекте(файл->new aplication)...
да? ну тогда ладно.... :)
По поводу фулл скрина я еще думаю... Если не получится встроить изображение в свою форму, то скорее всего буду делать полноэкранную версию...))
_Core_
>1) Есть ли в HGE ограничение по FPS?.. У меня графа в игрухе в принципе
да, модный кекс написал как. В HGE надо ограничить фпс если будешь использовать частицы. А вообще для движка (для движения и анимации) я сторонник не ограничивать фпс а регулировать все этор дело по времени, чтобы чем быстрее машина, тем плавнее движение, анимация, чем медленее, тем более резкие изменения.
>4) Насколько я понял, HGE при инициализации всегда создает свое отдельное окно
>и запихнуть картинку, создаваемую движком, на свою форму(родную, билдеровскую)
>никак нельзя? Так ли это или есть какие-нить способы встроить получившеееся
>изображение в свою форму?
>Заранее спасибо всем ответившим)))
это точно можно сделать, мы делали в одной тулзе.
2Jaibo
И как это сделать?(я про встраивание HGE-изображения в форму..) Буду очччень признателен!!)))...
Сам разобрался.. )) Все оказалось элементарно)))
Еще раз всем спасибо)))
deluSion
>Не нужно фпс ограничивать, нужно всего лишь при создания системы частиц указать
>фпс тот, что был в редакторе, например:
а я думал и там и там надо проставлять лимит, сколько с хге работал и не знал :), попробую, спасибо.
deluSion
не надо изобретать колесо - что за привычка :)
Ведь будет намного лучше подключиться к группе разработчиков и добавить в HGE то, чего вам так не хватало :)
Удачи
deluSion
Где можно скачать?
deluSion
а не расскажешь в кратце что там нового, есть смысл мне его скачивать или ограничиться существующей версией..
и расскажи чего тебе так сильно не хватает?
Тема в архиве.