我已经在Phaser中创建了一个物理精灵:
export class Player extends Phaser.Physics.Arcade.Sprite {...}
我正在使用blocked
状态来查看我的玩家精灵是否与任何其他物理对象发生碰撞。
console.log(this.body.blocked)
这适用于静态物理物体,玩家站在地板上或平台上:
{none:false,up:false,down:true,left:false,right:false}
但是当玩家与另一个精灵碰撞时,在这种情况下为移动平台(这是一个正常的身体,不是staticBody),则blocked
的状态为:
{none:true,up:false,down:false,left:false,right:false}
这是为什么? blocked
属性仅适用于静态实体吗?如果是这样,我怎么知道玩家是否站在非静态的身体上?