Я пытаюсь запустить следующий код, но получить ошибку в функции gameLoop, заявив: Ошибка выполнения JavaScript: Object не поддерживает свойство или метод 'update'.Объект не поддерживает метод
Я начинаю программист JavaScript. Можете ли вы определить, что не так с этим кодом?
function Core(context) {
this.context = context;
this.fps = 500;
this.sprite = new Sprite();
}
Core.prototype.run = function() {
setInterval(this.gameLoop, this.fps); // <<<< PROBLEM
}
Core.prototype.gameLoop = function() {
this.update();
this.draw();
}
Core.prototype.update = function() {
this.sprite.x += 50;
this.sprite.y += 50;
}
Core.prototype.draw = function() {
this.context.clearRect(0, 0, 300, 300);
this.context.fillRect(this.sprite.x, this.sprite.y, 50, 50);
this.context.fillText('x: ' + this.sprite.x + ' y: ' + this.sprite.y, 10, 250);
}
Исправлен код: http://pastebin.com/xuNTQSrP - '' this' в Core.prototype.gameLoop' не разрешило к. ожидаемый, из-за 'setInterval'. –
@Milosz: Не нужно, важно только, чтобы они определялись, когда 'gameLoop' ** называется **, а не когда он определен. –