
Система, не позволяющая курсору выходить за игровое окно
Heksenmaister
опубликовал в
Game Maker
Представляю упрощённую версию собственной разработки, которую я использовал в своей игре
Данный код рассчитан на оконные игры любого разрешения:- Для начала, в коде создания комнаты, где мы хотим применить данную функцию, пишем:
global.H = display_get_width(); //Записывает разрешение экрана по ширине global.V = display_get_height(); //Записывает разрешение экрана по высоте instance_create(x,y,Mouse_Limitation); //Создание объекта при старте комнаты
- Далее создаём невидимый объект без спрайта с названием «Mouse_Limitation»
- В Step объекта «Mouse_Limitation» пишем следующий код:
//Верх if (display_mouse_get_y() < ((global.V - room_height) / 2)) { display_mouse_set(display_mouse_get_x(),((global.V - room_height) / 2)) }; //Низ if (display_mouse_get_y() > room_height - (высота курсора или 0) + ((global.V - room_height) / 2)) { display_mouse_set(display_mouse_get_x(),room_height - (высота курсора или 0) + ((global.V - room_height) / 2)) }; //Левая сторона if (display_mouse_get_x() < ((global.H - room_width) / 2)) { display_mouse_set((((global.H - room_width) / 2)), display_mouse_get_y()) }; //Правая сторона if (display_mouse_get_x() > room_width + ((global.H - room_width) / 2)) { display_mouse_set(room_width + ((global.H - room_width) / 2), display_mouse_get_y()) };
0 комментариев