Модуль click
Вы можете отслеживать в своей игре клики по картинке сцены, а также по фону. Для этого, воспользуйтесь модулем "click". Также, вы можете отслеживать состояние мыши с помощью функции:
instead.mouse_pos([x, y])Которая возвращает координаты курсора. Если задать параметры (x, y), то можно переместить курсор в указанную позицию (все координаты рассчитываются относительно левого верхнего угла окна INSTEAD).
require "click"
function click:filter(press, btn, x, y, px, py)
dprint(press, btn, x, y, px, py)
return press and px -- ловим только нажатия на картинку
end
room {
nam = 'main';
pic = "box:320x200,red";
onclick = function(s, press, btn, x, y, px, py)
pn("Вы нажали на картинку: ", px, ", ", py)
pn("Абсолютные координаты: ", x, ", ", y)
p("Кнопка: ", btn)
end;
}Внимание! В INSTEAD по умолчанию включён фильтр кликов мыши, который гасит быстрые клики. Это сделано для исключения эффекта дребезга клавиш мыши. В некоторых случаях фильтр может оказаться нежелательным. В таком случае, используйте функцию instead.mouse_filter(), которая может быть использована для определения текущего значения фильтра мыши и установки нового (в том числе - выключения), например:
function start()
dprint("Mouse filter delay: ", instead.mouse_filter())
instead.mouse_filter(0) -- выключили фильтр
endИли так:
old_filter = instead.mouse_filter(0) -- выключили
...
instead.mouse_filter(old_filter) -- восстановили