我正在编写一个画布游戏作为学校项目,我已经为“按钮”对象创建了一个构造函数,如下所示:
// button object constructor
function button(xL, xR, yT, yB) {
this.xLeft = xL;
this.xRight = xR;
this.yTop = yT;
this.yBottom = yB;
this.width = xR - xL;
this.height = yB - yT;
this.drawMe = function() {
neonWariorPlayArea.context.strokeStyle = "blue";
neonWariorPlayArea.context.beginPath();
neonWariorPlayArea.context.rect(this.xLeft, this.yTop, this.width, this.height);
neonWariorPlayArea.context.stroke();
}
}
button.prototype.clicked = function() {
if (this.xLeft <= mouseX && mouseX <= this.xRight && this.yTop <= mouseY && mouseY <= this.yBottom) {
return true;
}
}
现在我遇到了一个我不知道如何解决的问题,那就是如何删除已经创建的每个按钮?我需要这个,因为当我更改屏幕(例如从主菜单到角色创建者)时,按钮仍然存在并且可单击。我试图创建某种数组,在其中我将保存所有按钮对象,然后循环该数组删除数组的每个元素。
var buttons = new Array();
playBtn = new button(500, 650, 50, 100);
tutorialBtn = new button(500, 760, 110, 160);
scoreBtn = new button(500, 670, 180, 230);
buttons.push(playBtn, tutorialBtn, scoreBtn);
function deleteBtns() {
buttons.forEach(iterate);
}
function iterate(item, index) {
console.log(index);
delete buttons[index];
}
现在我已经到了我没有想法的地步,我的谷歌fu不够强大。感谢您的帮助或建议。
互换的青春
天涯尽头无女友
慕工程0101907
相关分类