Модуль Click
| Подключение | require "click" |
|---|---|
| Тип | расширение кода |
| Зависимости | нет |
Описание
Модуль позволяет удобным способом отслеживать клики мышкой по картинке сцены. При этом, во время клика будет вызван обработчик click текущей сцены, или одноименный обработчик game.click. В параметрах передаются координаты клика (x, y) в системе координат оригинального (немасштабированного) изображения. Координата 0,0 соответствует верхнему левому углу.
Начиная с 1.4.0 функциональность модуля click расширена. Если необходимо получать события кликов в любой области игрового экрана (если щелчок пришелся на фон), необходимо установить переменную click.bg:
click.bg = true
При этом, в обработчик сначала придут координаты клика фона и координаты клика картинки (если клик пришелся на картинку);
game.click(s, x, y, px, py)
Внимание!!! В режиме прямого доступа (см. модуль sprites) координаты кликов всегда приходят относительно фона.
Если необходимо получать события не только нажатия, но и отжатия, используйте переменную click.press:
click.press = true;
Тогда, в обработчик придет булевое значение press. При нажатии кнопки мыши press установлен в true, при отжатии в false.
game.click(s, press, x, y, px, py)
Если необходимо получать клики не только от первой кнопки мыши, используйте переменную click.button. При этом, в обработчик будет передан код кнопки мыши.
click.button = true
game.click(s, press, button, x, y, px, py)
Примеры использования
game.click = function(s, x, y) p ("Click at:",x,",", y); end house = room { nam = 'Дом'; pic = 'house.png'; click = function(s, x, y) if x > 100 and x < 120 and y > 50 and y < 90 then goto 'street' end end -- ... }