我的代码中有这些事件监听器
canvas.addEventListener('mousemove', onMouseMove, false);
canvas.addEventListener('mousedown', onMouseDown,false);
canvas.addEventListener('mouseup', onMouseUp, false);
Run Code Online (Sandbox Code Playgroud)
这些功能将帮助我平移画布.我已经宣布的一个变量onLoad叫pan,isDown,mousePostion和以前的鼠标位置.然后在INITIALISE功能被设定的pan,mousePos并且premousepos含有0,0矢量
function draw() {
context.translate(pan.getX(), pan.getY());
topPerson.draw(context);
console.log(pan);
}
function onMouseDown(event) {
var x = event.offsetX;
var y = event.offsetY;
var mousePosition = new vector(event.offsetX, event.offsetY);
previousMousePosition = mousePosition;
isDown = true;
console.log(previousMousePosition);
console.log("onmousedown" + "X coords: " + x + ", Y coords: " + y);
}
function onMouseUp(event) {
isDown = false;
}
function onMouseMove(event) …Run Code Online (Sandbox Code Playgroud)