缩放2d游戏相机让它从原点移动(Javascript)

时间:2016-05-21 01:52:07

标签: javascript html5 canvas game-engine

这两个片段是罪魁祸首:

function tr(){
    ctx.translate(0-cameraX,0-cameraY);
    ctx.scale(zoom,zoom);
}


function uiPosToWorldPos(pos){
    return [(pos[0] + cameraX) / zoom,(pos[1] + cameraY) / zoom];
}

我正在做的是在我的相机对面移动我的世界以创建一个滚动/视差世界(相当标准。)这一切都很好,直到我添加相机的缩放。我没有找到一种方法来缩放到上述功能而没有这个问题:我的相机距离(0,0)越远,缩小(缩小)越远,我的相机越往往远离原点。

无论我在哪里,我希望能够干净利落地放大和缩小,这样无论变焦如何,世界上的同一点都将保持中心相机。第二个功能是确定我的鼠标在世界上的位置所必需的,所以我可以设置我的界限,只绘制屏幕上的项目。

1 个答案:

答案 0 :(得分:0)

您计算您的比例系数,然后将其与您的对象位置相乘。