这将拖动我的矩形路径。如果窗口没有调整大小,它可以很好地工作。
function onMouseDrag(event) {
MyRectanglePath.position = event.point;
}
这会将我的游戏调整为100%宽度或100%浏览器窗口长度的正方形。
function OnResizeCalled() {
var gameWidth = window.innerWidth;
var gameHeight = window.innerHeight;
var scaleToFitX = gameWidth / 640;
var scaleToFitY = gameHeight / 640;
var currentScreenRatio = gameWidth / gameHeight;
var optimalRatio = Math.min(scaleToFitX, scaleToFitY);
canvas.style.width = 640 * optimalRatio + "px";
canvas.style.height = 640 * optimalRatio + "px";
}
// Resize
window.addEventListener("resize", OnResizeCalled, false);
OnResizeCalled();
我的浏览器窗口越小,拖动它时矩形离我的鼠标越远。如何使用画布的其余部分进行event.point缩放?
答案 0 :(得分:4)
Paper.js不支持手动调整画布大小,因为这会炸毁像素并导致所有类型的内部问题。它还会干扰Retina屏幕上的HiDPI处理。
但您可以使用以下方法调整画布大小:
paper.view.viewSize = [width, height];
我希望这有帮助!
答案 1 :(得分:0)
Umm正如JürgLehni先生所说,Paper.js并不是为支持手动调整画布大小而设计的。当paper.view.setViewSize()将画布扩展/缩小到该大小时。
如果要缩放画布内的内容(例如路径),则必须使用.transform();
将变换应用于每个项目(使用正确的矩阵)。