【发布时间】:2014-11-26 14:22:09
【问题描述】:
我目前正在我的画布上添加一个迷你地图,它基本上显示并遵循它在主画布上显示的内容。我的主画布具有缩放和平移功能。我为小地图绘制了一个矩形,它显示了画布上显示的内容。但是,当我平移或缩放它时,它对小地图也是如此。
下面的代码是我在画布和小地图上绘制的draw方法。
redraw();
context.save();
context.translate(canvas.width / 2, canvas.height / 2);
canvas.style.border = "red 1px solid";
object.mPosition = new Vector(0,0);
object.draw(context);
context.restore();
requestAnimationFrame(draw);
context.save();
context.beginPath();
context.lineWidth = 3;
context.strokeStyle="black";
context.scale(0.25,0.25);
context.rect(0,0,canvas.width,canvas.height);
context.fillStyle="white";
context.fillRect(0,0,canvas.width,canvas.height);
context.stroke();
context.clip();
context.translate(canvas.width / 2, canvas.height / 2);
object.draw(context);
context.closePath();
context.restore();
下面的代码显示了平移的代码。
function OnMouseMove(event) {
var mousePosition = new Vector(event.clientX, event.clientY);
if(leftMouseButton) {
context.translate(mousePosition.getX() - previousMousePosition.getX(), mousePosition.getY() - previousMousePosition.getY());
}
previousMousePosition = mousePosition;
}
如何让它停止平移小地图,只在实际画布上应用平移功能以及上面的任何绘图?
【问题讨论】:
-
是的,当我在实际画布上平移对象时,如何让小地图保持在一个位置 (0,0) 而不使其平移?
-
答案对你有帮助吗?
标签: javascript css html canvas