Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Окно Xtreme 3d
#1
Я создал новое отдельное окно функцией 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 появляется какой-то туман.
Ответ
#2
Я могу сделать пример доп. окна, но предупреждаю, что в GM с ним неудобно работать) Я его добавил для языков, где нет встроенных функций для создания окон, чтобы, к примеру, не надо было подключать SDL для простых случаев.
В GM проблематичность в том, что в этой ситуации нужно обязательно отключить опцию Freeze the game when the form loses focus, иначе скрипт цикла будет приостановлен, когда фокус переключается на второе окно. Также нужно обрабатывать ввод встроенными функциями Xtreme3D (MouseGetPositionX, MouseGetPositionY, KeyIsPressed) и, соответственно, все гейммекеровские клавиатурные события не будут работать.
Ответ
#3
https://xtreme3d.ru/files/examples/second_window.zip
Ответ
#4
Спасибо большое Тимур) Кто бы мог подумать что нужно этот фокус отключить чтобы заработало)
Нужно бы в справочке указать.
А нету функции для разделения нажатия клавиши и зажатия клавиши? В языке gm это два разных понятия...
Ответ
#5
Ты имеешь в виду, для проверки однократного нажатия, т.е. аналогично keyboard_check_pressed? Такой функции, к сожалению, нет (но могу подумать, как ее реализовать, как будет время)
Ответ
#6
Да нет, спасибо, уже не нужно. Я протестил в отдельном окне, все равно туман присутствует. Смысла нету, только проблемы с назначением клавишь. Например я не нашел замены функции if mouse_check_button(mb_left) и так далее. Вернулся в стандартное окно gm.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)