簡體   English   中英

HTML5 畫布游戲中的滾動相機(使用 javascript)

[英]Scrolling camera in HTML5 canvas game (with 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM