Xtreme3D Community
Окно Xtreme 3d - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6)
+--- Темы: Окно Xtreme 3d (/showthread.php?tid=69)



Окно Xtreme 3d - Глеб - 03-16-2022

Я создал новое отдельное окно функцией Xtreme. Подключил вид к нему. Но графики нету. Всё как написано в справке. Какие тут подводные камни?

set_automatic_draw(0);
window_set_visible(0);
randomize();
dll_init('xtreme3d.dll');
EngineCreate();

global.dt = 1.0 / room_speed;

window_xtreme=WindowCreate(0,0,display_get_width(),display_get_height(),false);

view1 = ViewerCreate(0, 0, display_get_width(), display_get_height(), WindowGetHandle(window_xtreme));

Появляется окно, но в нем ничего нету, при закрытии окна в редактор не возвращается (ничего не происходит).
В "диспетчере зад" идет фоном, приходиться в ручную отключать.
В событии закрытия окна поставил game_end(), в событии game end уничтожил окно перед уничтожением движка.
Очень нужно, в стандартном окне gm появляется какой-то туман.


Окно Xtreme 3d - Gecko - 03-18-2022

Я могу сделать пример доп. окна, но предупреждаю, что в GM с ним неудобно работать) Я его добавил для языков, где нет встроенных функций для создания окон, чтобы, к примеру, не надо было подключать SDL для простых случаев.
В GM проблематичность в том, что в этой ситуации нужно обязательно отключить опцию Freeze the game when the form loses focus, иначе скрипт цикла будет приостановлен, когда фокус переключается на второе окно. Также нужно обрабатывать ввод встроенными функциями Xtreme3D (MouseGetPositionX, MouseGetPositionY, KeyIsPressed) и, соответственно, все гейммекеровские клавиатурные события не будут работать.


Окно Xtreme 3d - Gecko - 03-18-2022

https://xtreme3d.ru/files/examples/second_window.zip


Окно Xtreme 3d - Глеб - 03-18-2022

Спасибо большое Тимур) Кто бы мог подумать что нужно этот фокус отключить чтобы заработало)
Нужно бы в справочке указать.
А нету функции для разделения нажатия клавиши и зажатия клавиши? В языке gm это два разных понятия...


Окно Xtreme 3d - Gecko - 03-19-2022

Ты имеешь в виду, для проверки однократного нажатия, т.е. аналогично keyboard_check_pressed? Такой функции, к сожалению, нет (но могу подумать, как ее реализовать, как будет время)


Окно Xtreme 3d - Глеб - 03-19-2022

Да нет, спасибо, уже не нужно. Я протестил в отдельном окне, все равно туман присутствует. Смысла нету, только проблемы с назначением клавишь. Например я не нашел замены функции if mouse_check_button(mb_left) и так далее. Вернулся в стандартное окно gm.