← На главную
Серия руководств

Шаг 7. Движение платформ

Создание платформера с PixiJS • Шаг 7 из 15

Физическое тело платформы готово, и теперь можно двигать платформу, перемещая её тело. Затем перенесём контейнер со всеми тайлами в новую позицию тела.

Создадим метод 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());
    }
}