Вы должны привыкнуть к отладке вашего кода , чтобы точно понять, что происходит.Например, я бы добавил что-то подобное в вашу walk()
функцию:
console.log(this.x);
Это поможет вам понять, что происходит.Вы обнаружите, что this.x
всегда null
.Затем вы можете отследить код и выяснить, почему.
Еще одна вещь, которая бросается мне в глаза, это то, что вы не должны определять свои собственные переменные width
и height
.Вместо этого используйте переменные width
и height
, которые вам предоставляет P5.js.
Отслеживая код, вы также должны подумать, когда именно произойдет эта строка:
var c = new Circle();
Эта строка кода выполняется до , вызывается функция setup()
.Я предполагаю, что изначально вы получили сообщение о том, что width
не определено, поэтому вы добавили собственную переменную width
.Но это на самом деле не решило проблему, которая заключается в том, что весь этот код выполняется до вызова функции setup()
.
Чтобы исправить это, просто переместите инициализацию так, чтобы она была внутри setup()
функция:
var c;
function setup() {
createCanvas(windowWidth, windowHeight);
c = new Circle();
}