Когда вы щелкаете поле, и оно выбрано, спрайт (визуальная часть поля) не имеет значения.Все это опирается на алгоритм, который «соединяет» мышь и игру.Это проще, чем кажется.
Поскольку вы используете единство, вы редко будете иметь дело с этим алгоритмом, но вы должны понимать его, чтобы реализовать свой собственный код.То, как это работает (возможно, но всегда зависит от вашей реализации), заключается в том, что ваша «территория» имеет компонент «столкновения».В выбранном вами компоненте он может взаимодействовать с мышью, а затем вы реализуете это взаимодействие.
В этот момент, если вы не сделаете ничего особенного, каждая часть формы столкновения вызовет один и тот же эффект.В этом есть смысл.Итак, теперь, чтобы решить вашу проблему ...
- Вы должны найти способ (алгоритм) для обнаружения только заданных частей формы столкновения и завершить взаимодействие, если мышь находится в этих частях,
ИЛИ
Вы должны исправить свою форму столкновения так, чтобы она соответствовала фактическому «изображению».Это означает использование многоугольника с несколькими вершинами и ручное сопоставление его со спрайтом.
Вы можете сделать любой из них в зависимости от ситуации.В качестве упражнения сделайте номер 1 на этот раз (также, поскольку границы хаотичны).Это НЕ сложно.Подумайте, если каждая прозрачная область имеет один и тот же «цвет», если вы можете проверить, какой пиксель изображения был нажат, то вам просто нужно знать, какой цвет в этой точке.Вы также можете попробовать различные решения.
Бонус заключается в том, чтобы работать, если фактическое «изображение» имеет прозрачную область.