У меня есть небольшая проблема, которую я пытаюсь решить. Когда я начинаю делать анимацию с HTML5 и Canvas, я хочу иметь постоянный поток анимации, а также иметь возможность фиксировать движение мыши без прерывания потока анимации. Это сейчас кажется проблемой. Я принесу
некоторый код из моего тестового кода здесь.
function mainInit()
{
canvas = document.getElementById('canvas');
context = canvas.getContext('2d');
ballArray.push(new Ball(30,30,2,4,15,"#EEEEEE"));
setInterval(drawScene,20);
}
function drawScene()
{
// main drawScene function
clear(); // clear canvas
// draw animated objects
for(var i = 0; i < ballArray.length; i++)
{
ballArray[i].draw();
}
Event_MouseMove();
}
var messageMousePos = '';
function Event_MouseMove()
{
canvas.addEventListener('mousemove', function(evt)
{
var mousePos = getMousePos(canvas, evt);
messageMousePos = "Mouse position: " + mousePos.x + "," + mousePos.y;
context.font = '10pt Calibri';
context.fillStyle = 'black';
context.fillText(messageMousePos , 5, 15);
}, false);
}
Проблема в том, что при перемещении eventListner для движения мыши переопределяет интервал рисования и делает его намного медленнее. Как / где я должен поместить код для события мыши, чтобы он не прерывал этот интервал отрисовки, но по-прежнему рисовал события мыши в соответствии с интервалом?