#1 2022-03-16 01:19:25

Глеб
Участник
Зарегистрирован: 2022-03-04
Сообщений: 48

Окно Xtreme 3d

Я создал новое отдельное окно функцией 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 появляется какой-то туман.

Редактировался Глеб (2022-03-16 11:46:47)

Offline

#2 2022-03-18 15:45:33

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Окно Xtreme 3d

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

Offline

#3 2022-03-18 15:50:26

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Offline

#4 2022-03-18 19:14:20

Глеб
Участник
Зарегистрирован: 2022-03-04
Сообщений: 48

Re: Окно Xtreme 3d

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

Редактировался Глеб (2022-03-18 19:35:54)

Offline

#5 2022-03-19 13:35:57

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 150
Сайт

Re: Окно Xtreme 3d

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

Offline

#6 2022-03-19 13:48:49

Глеб
Участник
Зарегистрирован: 2022-03-04
Сообщений: 48

Re: Окно Xtreme 3d

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

Offline

Подвал доски

Под управлением FluxBB