Не верно работает onmove в canvas.Подскажите плиз!
Доброго утра,
Хочу сделать, чтобы на нарисованной сетке в канвасе, при наведении на определенный квадрат, он подсвечивался. http://learn.javascript.ru/play/35puh вот в этой штуке, оно работает, но работает немного не так как я планировал. ![]() ![]() У меня на странице, оно вообще не работает: http://www.ravak.kiev.ua/aksiya/td2.html для удобства вот код: var tower1 = document.getElementById('tower1'); tower1.onclick = function () { build('tower1'); createTower = true; } canvas.onmouseover = function () { mouseMove(event); if (createTower){ context.fillStyle = "#29FF37"; context.fillRect(ingameX*cellSize + ingameX, ingameY*cellSize + ingameY, cellSize, cellSize); } } function build(tower) { document.getElementById(tower).disabled = 'true'; } function mouseMove(e) { var mouseX, mouseY; if (e.offsetX){ mouseX = e.offsetX - canvas.offsetLeft; mouseY = e.offsetY - canvas.offsetTop; } else if (e.layerX){ mouseX = e.layerX; mouseY = e.layerY; } ingameX = Math.floor((mouseX - Math.floor(mouseX/cellSize))/cellSize); ingameY = Math.floor((mouseY - Math.floor(mouseY/cellSize))/cellSize); } Подскажите что я неверно сделал? |
есть тут кто-то?
|
У тебя событие на mouseover висит. Оно отрабатывает один раз, когда мышь пересекает границу канваса. Вот так работает как надо вроде: http://learn.javascript.ru/play/traBQb
|
Цитата:
|
А почему аналогичный код не работает на сайте?
|
Часовой пояс GMT +3, время: 09:04. |