====== Модуль 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)

===== Примеры использования =====
<code lua>
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
--    ...
}
</code>
