как отследить нажатие на повернутый спрайт 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
И мне нужно как-то отслеживать события нажатия на спрайт, с максимальной точностью, даже если он будет повёрнут. Не все спрайты имеют равную ширину и высоту поэтому позиция таких спрайтов будет изменяться в зависимости от поворота.