HTML5画布游戏中的滚动相机(带有javascript)



>我有一个简单的功能2d HTML画布游戏,目前你可以看到整个地图,我希望画布游戏有一个滚动相机,所以你不能一次看到整个地图,我不知道该怎么做。我用谷歌搜索了一下,什么也没找到。

ctx.drawImage(character,x,y);

画布已正确设置

<canvas id="canvas"></canvas>

没有错误或错误

2 种方式:

1(调整物体的位置,用相机偏移绘制:

deltaX=object.x-cameraX
deltaY=object.y-cameraY
if(deltaX + object.width > 0
  && deltaX - object.width < cameraWidth 
  &&deltaY + object.height > 0
  && deltaY - object.height < cameraHeight){
    ctx.drawImage(character,deltaX,deltaY);
}

2(有两个上下文并将一个打印到另一个

ctxCamera.drawImage(ctx,cameraX,cameraY(;

我不知道

我是否为时已晚,但是您可以使用div标签包含画布标签。

.HTML:

<div id = "viewport">
  <canvas id="canvas"></canvas>
</div>

.CSS:

#viewport{
  overflow: hidden; //so you can't see outside of the div
  width: /*insert desired amount*/px;
  height: /*insert desired amount*/px;
}

Javascript:

function scrollCamera(camx, camy){
  var viewport = document.getElementById('viewport');
  viewport.scrollTop = camy;
  viewport.scrollLeft = camx;
}
scrollCamera(x-/*desired amount*/, y-/*desired amount*/); //makes the camera follow the player

最新更新