我正在尝试在 HTML5 的画布内实现“平移”功能,但我不确定实现它的最佳方法。
目前 - 我正在尝试检测鼠标在画布上的位置,如果它在边缘的 10% 以内,它将朝那个方向移动,如图所示:
当前边缘检测:
canvas.onmousemove = function(e)
{
var x = e.offsetX;
var y = e.offsetY;
var cx = canvas.width;
var cy = canvas.height;
if(x <= 0.1*cx && y <= 0.1*cy)
{
alert("Upper Left");
//Move "viewport" to up and left (if possible)
}
//Additional Checks for location
}
我知道我可能可以通过在画布中创建路径并将事件附加到它们来实现这一点,但我没有与它们合作太多,所以我想我会在这里问。另外 - 如果一个“包装”平底锅可能会很棒(向左平移最终会向右)。
摘要:我想知道在 HTML5 Canvas 内完成“平移”的最佳途径是什么。这不会使用图像,而是使用实际绘制的对象(如果这有什么不同的话)。如果可以的话,我很乐意回答任何问题。
演示: