Цитата 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. Вроде заработало. Но вообще такой подход - это не велосипед?