Проблемы с получением координат мыши с холста - PullRequest
0 голосов
/ 22 февраля 2012

Я работаю над холстом, и теперь я достиг точки, где мне нужно найти координаты мыши, чтобы я мог создавать «кнопки» внутри указанного холста. Однако, когда я пытаюсь зафиксировать координаты и использовать их в функции, чтобы определить, находится ли мышь внутри кнопки, это не сработает.

Что не так с моим методом поиска координат? Это для игры, которую мы с другом делаем для школьного проекта.

Вот код:

<!-- game canvas -->
<canvas id="canvas" width="900" height="600">

<!-- no-support message -->
Se está a ver isto, o seu browser não suporta HTML5.

</canvas>

Только холст, потому что ничто другое действительно имеет значение.

Вот JavaScript:

//find mouse coordinates

var mouseX = 0, mouseY = 0;

$('#canvas').mousemove(function(e){
    mouseX = e.pageX - this.offsetLeft;
    mouseY = e.pageY - this.offsetTop;
});

1 Ответ

3 голосов
/ 22 февраля 2012

var создает локальную переменную. В вашем случае, однако, вы хотите обновить переменные вне функции вместо создания новых локальных. Итак, просто вставьте var в функцию mousemove.

В настоящее время внешние переменные "затенены" локальными переменными и стали недоступными.

http://jsfiddle.net/wXMyH/1/

...