我是一個開始。我想創建一個像素藝術網站。爲此,我嘗試開發我的JavaScript代碼。現在我正在通過使用var作爲對象和數組來設置不同的矩形來簡化代碼,以避免鍵入數行代碼。比我想在第二部分創建一個數組構造函數,爲二維數組中的每個矩形定義座標(其他x,其他y)。 目前我不知道爲什麼代碼的第一部分不起作用。你能提出你的想法嗎?提前致謝。 這裏是我的代碼(link on JS Bin):如何將矩形設置爲JS中的數組對象?
var canvas;
var ctx;
var x = 0;
var y = 0;
var w = 10; // Width=10px
var h = w; // Heigth=10px
function init() {
canvas = document.querySelector('#myCanvas');
ctx = canvas.getContext('2d');
draw();
}
// Create a rect by path method for restoring the buffer
var rect;
function draw(){
ctx.beginPath();
ctx.rect(x,y,w,h);
}
var c = ['#66757F', '#F7F7F7', '#CCD6DD']; // Setting a color palette as an array
for (var i=0; i<c.length; i++){
c[i]=ctx.fillStyle();
}
// Define colored rectangles as the Objects
var r1 = {rect;[0]}
var r2 = {rect;[1]}
var r3 = {rect;[2]}
ctx.fill();
// Setting three rectangle by diagonal
var r=[r1,r2,r3];// Array of setted rectangles
function draw(){
for (var j=0; j<r.length; j++){
r[j]=ctx.moveTo(x+w*j,y+h*j);
}
}
謝謝Krandalf,我確實犯了錯誤,並輸入了你的建議更改,但代碼仍然不起作用。我想問題是var r1 = {rect; [0]},因爲填充方法看不到數組 –