HTML5 画布游戏中的滚动相机(使用 javascript)

我有一个简单的 2d HTML 画布游戏,目前你可以看到整个地图,我希望有一个用于画布游戏的滚动相机,所以你不能一次看到整个地图,我不知道如何做这个。我用谷歌搜索了一下,一无所获。

ctx.drawImage(character,x,y);

画布已经正确设置

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

没有错误或错误


湖上湖
浏览 146回答 2
2回答

慕桂英3389331

2种方法 :1)用相机偏移调整要绘制的对象的位置:deltaX=object.x-cameraXdeltaY=object.y-cameraYif(deltaX + object.width > 0&nbsp; && deltaX - object.width < cameraWidth&nbsp;&nbsp; &&deltaY + object.height > 0&nbsp; && deltaY - object.height < cameraHeight){&nbsp; &nbsp; ctx.drawImage(character,deltaX,deltaY);}2)有两个上下文并将一个打印到另一个ctxCamera.drawImage(ctx,cameraX,cameraY);

拉丁的传说

我不知道我是否为时已晚,但是您可以使用 div 标签包含画布标签。HTML:<div id = "viewport">&nbsp; <canvas id="canvas"></canvas></div>CSS:#viewport{&nbsp; overflow: hidden; //so you can't see outside of the div&nbsp; width: /*insert desired amount*/px;&nbsp; height: /*insert desired amount*/px;}Javascript:function scrollCamera(camx, camy){&nbsp; var viewport = document.getElementById('viewport');&nbsp; viewport.scrollTop = camy;&nbsp; viewport.scrollLeft = camx;}scrollCamera(x-/*desired amount*/, y-/*desired amount*/); //makes the camera follow the player
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript