Физическое тело платформы готово, и теперь можно двигать платформу, перемещая её тело. Затем перенесём контейнер со всеми тайлами в новую позицию тела.
Создадим метод move, задающий телу новую позицию с учётом скорости платформы из свойства this.dx.
export class Platform {
// ...
move() {
if (this.body) {
Matter.Body.setPosition(this.body, {x: this.body.position.x + this.dx, y: this.body.position.y});
this.container.x = this.body.position.x - this.width / 2;
this.container.y = this.body.position.y - this.height / 2;
}
}
}
После переноса тела переместим контейнер платформы в ту же позицию, чтобы все её тайлы оказались на нужном месте.
Осталось вызвать move для всех созданных платформ в классе Platforms:
export class Platforms {
// ...
update() {
// ...
this.platforms.forEach(platform => platform.move());
}
}