В качестве решения вашей проблемы: я бы прикрепил событие click к холсту, а в случае мыши - я бы исследовал координаты мыши, а затем простой список областей в сочетании с полигонами, которые вы могли бы сделать своего рода тестом на столкновение. на. Прямоугольники были бы началом, но если вам действительно нужны специальные области, необходимо провести более сложный тест на столкновение.
Быстрое решение, которое я использовал во Flash для карт с точностью до пикселя, - это создание второго скрытого растрового изображения, которое вы используете для поиска, когда кто-то нажимает на видимое изображение.
Его та же техника используется в старых приключенческих играх. Каждая «область / объект / ссылка» имеет свой собственный цвет пикселя. И тогда вы просто сохраняете список объектов с соответствующим цветом.
Как только у вас будет пиксельный цвет под мышкой, вы сможете очень быстро просмотреть таблицу ... и бинго ...
Сначала вы убираете «изображение клика» с нуля (черного цвета), равного «без ссылки», затем вы рисуете каждую область специальным цветом и сохраняете этот цвет в списке.
Спросите, нужна ли вам дополнительная помощь. Я надеюсь, что это был полезный ответ.