как отследить нажатие на повернутый спрайт html Canvas

Я решил создать игровой движок на js и столкнулся с проблемой отслеживания события клика. Проблема в том что спрайты в движке могут быть повернуты. я использую вот этот код для рисования спрайтов:

draw(){
    this.context.save();
    this.context.translate(this.x + this.w / 2, this.y + this.h / 2);
    this.context.rotate(this.r * Math.PI / 180);
    this.context.drawImage(this.img, -(this.w / 2), -(this.h / 2), this.w, this.h);
    this.context.restore();
}

r - поворот в градусах (вокруг оси спрайта)
x, y, w, h - позиция спрайта
draw - метод класса img
И мне нужно как-то отслеживать события нажатия на спрайт, с максимальной точностью, даже если он будет повёрнут. Не все спрайты имеют равную ширину и высоту поэтому позиция таких спрайтов будет изменяться в зависимости от поворота.


Ответы (0 шт):