Я создаю игру с одной фигурой героя, что его задачей является сбор фруктов по всему холсту.установка таймаута в объекте
Дело в том, что каждый плод имеет собственное время истечения на холсте. Например, банан появится 5 секунд, оранжевый появится 10 секунд и т. Д.
вещь, которую я пытаюсь сделать, заключается в создании объекта, в котором каждый экземпляр этого объекта имеет таймер, который изменяет логическое значение после выбранного время
мой код выглядит следующим образом:
function apple(timeToStay,score){
this.kind = "apple";
this.timeTostay = timeToStay;
this.score=score;
this.imgsrc = "images/apple.png";
this.x = 32 + (Math.random() * (canvas.width - 64));
this.y = 32 + (Math.random() * (canvas.height - 64));
this.removeMe = false;
setTimeout(function() { this.removeMe=true; }, timeToStay*1000);
return this;
}
, как вы можете видеть, я думал, что установка тайм-аут с экземпляром будет стрелять это через 5 секунд, если я создал это вар OBJ = яблоко (5 , 5)
в начале obj.removeMe должно быть ложным, но через 5 секунд оно должно стать истинным.
'this' является функцией области видимости. Таким образом, он изменяется внутри функции таймаута. Используйте 'var _this = this' в конструкторе и' _this' в тайм-ауте. – Oriol