У меня есть прослушиватель событий для веб-игры HTML5, которая представляет собой викторину, но мне трудно заставить прослушиватель событий получить фактические координаты, которые следует ожидать.
Используя консоль javascript, я обнаружил, что координаты, которые она получает, часто неверны.
EDIT: кажется, я знаю, почему возникает проблема, но не знаю, как ее исправить. Я использую холст с длинной осью Y, и мне нужно прокрутить вниз, чтобы ответить на некоторые вопросы. Когда я прокручиваю, координаты начинают идти не так. Есть ли способ справиться с этим?
Это мой прослушиватель событий. Пожалуйста, помогите мне решить эту проблему.
canvas.addEventListener('click',ProcessClick,false);
function ProcessClick(ev) {
my=ev.y-canvas.offsetTop;
if(ev.y == undefined){
my = ev.pageY - canvas.offsetTop;
}
Пример того, как я использую координаты-
if(eventstate == 'texta6get'){
console.log(my);
if(my>300 && my<390){GetAnswer(1);console.log("Answer1 clicked:");}
if(my>400 && my<490){GetAnswer(2);console.log("Answer2 clicked:");}
if(my>500 && my<590){GetAnswer(3);console.log("Answer3 clicked:");}
if(my>600 && my<690){GetAnswer(4);console.log("Answer4 clicked:");}
if(my>700 && my<790){GetAnswer(5);console.log("Answer5 clicked:");}
if(my>800 && my<890){GetAnswer(6);console.log("Answer6 clicked:");}
}