Пятница, 26 Апреля 2024, 05:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » zillkor [3]
Результаты поиска
zillkorДата: Среда, 20 Сентября 2017, 17:39 | Сообщение # 1 | Тема: Вызов события по клику мыши на объекте нарисованном в GUI
был не раз
Сейчас нет на сайте
Цитата ASH2 ()
zillkor, Что значит "кнопка разной ширины?". Не понял. Кнопка она одна, она не может быть разной ширины. Если же у тебя 1 кнопка на которую ты через внешний код накидываешь спрайт для отрисовки через draw - так закинь этот спрайт и в sprite_index этого экземпляра.


Есть объект который через Draw GUI рисует прямоугольник (кнопку), используя свое поле width и height, например один экземпляр рисует шириной 100, высотой 20, другой шириной 200, высотой 10. Две разных кнопки, два экземпляра одного объекта. Спрайты вообще не используются никак. Встаёт вопрос как мне в объекте уловить нажатие мыши по любому из прямоугольников экземпляра.

Вся вообще ситуация в том что кнопка, это часть интерфейса и я ее пытаюсь рисовать через GUI, чтобы не рисовать 5 разных кнопок разной ширины кнопка рисуется в зависимости от заданной ширины. А вот обработать нажатие мышкой не могу.

Например сейчас у меня есть вот такой код (в Step), и вроде как нажатие мышки улавливается, но что-то с координатами напутал, не работает как часы.
Код

if (mouse_check_button_pressed(mb_left))
{
    var xx = x + camera_get_view_x(view_camera[0]);
    var yy = y + camera_get_view_y(view_camera[0]);
    if (point_in_rectangle(mouse_x, mouse_y, xx, yy, xx + width, yy + width))
    {

switch (type)
{
    case "continue":
  room_goto(rm_space);
  break;

    case "newgame":
  room_goto(rm_space);
  break;

    case "exit":
  game_end();
  break;
}

    }
}

Добавлено (20 сентября 2017, 17:39)
---------------------------------------------
Перепутал там два раза написал width. Вроде заработало. Но вообще такой подход - это не велосипед?

zillkorДата: Среда, 20 Сентября 2017, 16:19 | Сообщение # 2 | Тема: Вызов события по клику мыши на объекте нарисованном в GUI
был не раз
Сейчас нет на сайте
Тоесть, без спрайта я вызов события не получу? Мне надо рисовать в любом случае спрайт и его либо сверху закрашивать тем что надо, либо сразу рисовать что надо. Хотя как это сделать, если у тебя нарпимер кнопка, разныой ширины.
zillkorДата: Среда, 20 Сентября 2017, 01:21 | Сообщение # 3 | Тема: Вызов события по клику мыши на объекте нарисованном в GUI
был не раз
Сейчас нет на сайте
Подскажите новичку. Реализовал событие Draw GUI у объекта, рисуется там прямоугольник. Пытаюсь сделать событие mouse left pressed, но при нажатии на прямоугольник мышкой событие не срабатывает.

С спрайтом если сделать то все хорошо будет, а вот если нарисовал объект просто draw_rectangle то события клика не срабатывает.

Вот проектик с примером того что я говорю https://yadi.sk/d/s8hhB12d3N4LUs. Дебаг сообщение при клике мышки не выводится.
Форум игроделов » Записи участника » zillkor [3]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг