Модуль 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
--    ...
}
Навигация
Печать, экспорт
Язык
Перевод этой страницы:
Инструменты
Ссылки