Я довольно новичок в JS, поэтому, пожалуйста, извините за мое незнание, но я не могу понять, почему моя анимация, если оператор не работает, если я объявляю свою переменную скорости локально в функции move ().
Если я не объявляю переменную скорости глобально, девушка попадает в windowWidth и застревает, перемещая пару пикселей назад и вперед.По сути, оставаясь там, а не двигаясь в другую сторону.
let speed = 2;
class Girl {
constructor(x, y) {
this.x = x,
this.y = y
}
body() {
noStroke();
fill(239, 101, 233);
rect(this.x, this.y, 20, 40);
fill(249, 192, 155);
triangle(this.x, this.y, this.x + 20, this.y, this.x + 10, this.y + 15);
}
move() {
if (this.x > windowWidth + 50 || this.x < -50) {
speed = speed * -1;
}
this.x = this.x + speed;
}
}
Я должен отметить, что я использую библиотеку p5 на случай, если я использую какие-нибудь прикольные функции.Это работает, но я уверен, что смогу немного привести в порядок это.Любой совет будет более чем приветствоваться.
Заранее спасибо!