在我尝试学习JavaScript的过程中,我想出了这个画布绘图的想法。基本上,我将坐标存储在数组中,脚本将自动在画布上绘制按钮。每个按钮需要8个坐标,x1
,y1
,x2
,y2
等...(我什至可能会在稍后;p)使这些按钮用作链接。我遇到的问题是,这根本无法运行,Chrome 检查器控制台在此行显示" object is undefined
":"button = new object();
"
任何帮助,不胜感激。狮子座
function loadMenu() {
//Initialize Canvas
var canvas = document.getElementById("menu_canvas");
var context = canvas.getContext("2d");
//Button Data
var buttonData = [59, 0, 19, 40, 128, 40, 168, 0];
//Create Buttons
var i = 1;
while (i < buttonData.length) {
button = new object();
for (var j = i; j != i + 8; j++) {
if (j % 2 == 0) {
button.X[j] = buttonData[j - 1];
} else {
button.Y[j] = buttonData[j - 1];
}
}
drawButton(button);
i = i + 8;
}
//Begin drawing buttons
function drawButton(button) {
context.beginPath();
context.moveTo(button.X1, buttonX2);
for (k = 2; k != 4; k++) {
context.lineTo(buttonX[k], buttonY[k]);
}
context.closePath();
context.fillStyle = "red";
context.fill();
}
}
您必须将其大写:
button = new Object();
Javascript 区分大小写。
或者,您可以使用对象文字(如 Nile 所述):
button = {};