Как нацепить эвент на объект класса

128
17 апреля 2022, 09:00

Как нацепить евент на объект класса?

Листенер просто не видит картинку

class test {
  constructor(x, y, w, h){
        this.x = x;
        this.y = y;
        this.w = w;
        this.h = h;
        this.image = null;
  }
  draw(){
        this.image = new Image();
        this.image.src = '. . .';
        ctx.drawImage(this.image, this.x, this.y, this.w, this.h);
  }
    setPos(x,y){
        this.x += x;
        this.y += y;
    }
    attack(){
        this.image.addEventListener('click',function(e){
            console.log(1337);
        });
    }
}
Answer 1

Так не работает. Если вы рисуете Image на канве, вам нужно вешать обработчик на canvas. Затем получать координаты клика и в ручную проверять попали вы в image или нет. Лучше использовать какую нибудь библиотеку поверх канвы, типа PixiJS

READ ALSO
Не работают вложенные стили Aphrodite-jss

Не работают вложенные стили Aphrodite-jss

В aphrodit-jss реализованы вложенные стили

129
Не могу подключить jquery в javascript

Не могу подключить jquery в javascript

Учу по книге javascript для детей и вот ступор простоПросто не работает, не понимаю почему

118
JavaScript массив, помогите с решением

JavaScript массив, помогите с решением

Подскажите пожалуйста

128
Не работает компонент Input в React из-за useForm

Не работает компонент Input в React из-за useForm

Всем привет! Когда заполняю данные формы, без компонента Input, то всё работает отличноВот пример кода где всё работает:

135