我想創建一個簡單的畫布網格,它將適合玩家的當前縮放級別,但也適用於某個畫布高度/寬度成比例的屏幕限制。以下是我走到這一步:畫布網格在不同的縮放級別變得模糊
JS:
var bw = window.innerWidth/2; //canvas size before padding
var bh = window.innerHeight/1.3; //canvas size before padding
//padding around grid, h and w
var pW = 30;
var pH = 2;
var lLimit = 0; //9 line limit for both height and width to create 8x8
//size of canvas - it will consist the padding around the grid from all sides + the grid itself. it's a total sum
var cw = bw + pW;
var ch = bh + pH;
var canvas = $('<canvas/>').attr({width: cw, height: ch}).appendTo('body');
var context = canvas.get(0).getContext("2d");
function drawBoard(){
for (var x = 0; lLimit <= 8; x += bw/8) { //handling the height grid
context.moveTo(x, 0);
context.lineTo(x, bh);
lLimit++;
}
for (var x = 0; lLimit <= 17; x += bh/8) { //handling the width grid
context.moveTo(0, x); //begin the line at this cord
context.lineTo(bw, x); //end the line at this cord
lLimit++;
}
//context.lineWidth = 0.5; what should I put here?
context.strokeStyle = "black";
context.stroke();
}
drawBoard();
現在,我終於成功了製作畫布是在每個屏幕分辨率縮放級別相同的比例水平。這是我想要實現的一部分。我也嘗試實現細線,在所有不同的縮放級別看起來都是一樣的,當然也是爲了消除模糊。現在線條的厚度 根據縮放級別而變化,並且有時模糊。
這裏的jsfiddle(雖然的jsfiddle窗口本身很小,所以你會發現幾乎沒有區別):
https://jsfiddle.net/wL60jo5n/
幫助將不勝感激。
當你說縮放級別,你的意思是縮放內置到大多數瀏覽器(使用控制+ mwheel上/下)? –
是的。 window.innerWidth會在頁面加載時考慮用戶的當前縮放級別。 – RunningFromShia
我嘗試實現的網格系統的實例:http://slither.io/無論您進入網頁的縮放級別如何,或者即使在遊戲過程中放大和縮小,網格系統看起來都一樣。 – RunningFromShia