Учитывая, что на холсте HTML на самом деле нет объектов, как с HTML-элементами DOM, такими как div, изображения, кнопки и т. Д., Событие mousePressed, вероятно, вызывается onClick из canvas, что означает if (btn.clicked ( inputEvent)) код все еще будет работать и проверять, был ли щелчок внутри ширины и высоты кнопки.
Вы можете добавить свойство в класс Button, чтобы указать, включено ли оно или нет, а если нет, просто пропустите проверку, если пользователь щелкнул по нему.
function mousePressed(inputEvent){
// If button enabled and clicked then udpate
if(btn.enabled && btn.clicked(inputEvent)){
start=Date.now();
score=0;
update();
}
}
В конструкторе кнопки set enabled = true, а затем в коде, который заставляет кнопку «исчезнуть», установите button.enabled в false. На самом деле, у вас уже может быть свойство для управления, если оно нарисовано или нет, вы можете использовать его для контроля, нужно ли проверять щелчок?