Я создал физический спрайт в Phaser:
export class Player extends Phaser.Physics.Arcade.Sprite {...}
Я использую статус blocked
, чтобы увидеть, сталкивается ли мой спрайт игрока с любым другим физическим объектом.
console.log(this.body.blocked)
Это работает для статических физических тел, игрок стоит на полу или на платформе:
{нет: false, вверх: false, вниз: true, слева: false, right: false}
Но когда игрок сталкивается с другим спрайтом, в данном случае с движущейся платформой (которая представляет собой обычное тело, а не staticBody), тогда статус blocked
:
{нет: true, вверх: false, вниз: false, влево: false, вправо: false}
Почему это? Свойство blocked
работает только для статических тел? И если так, как я могу узнать, стоит ли игрок на нестатическом теле?