avatar

Система, не позволяющая курсору выходить за игровое окно

опубликовал в Game Maker
Представляю упрощённую версию собственной разработки, которую я использовал в своей игре
Данный код рассчитан на оконные игры любого разрешения:
  1. Для начала, в коде создания комнаты, где мы хотим применить данную функцию, пишем:
    
    global.H = display_get_width(); //Записывает разрешение экрана по ширине
    global.V = display_get_height(); //Записывает разрешение экрана по высоте
    instance_create(x,y,Mouse_Limitation); //Создание объекта при старте комнаты
    

  2. Далее создаём невидимый объект без спрайта с названием «Mouse_Limitation»
  3. В 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 комментариев

Чтобы оставить комментарий необходимо .