Javascript 移相器阻塞状态仅适用于静态物体?
我在Phaser中创建了一个物理精灵:Javascript 移相器阻塞状态仅适用于静态物体?,javascript,typescript,phaser-framework,Javascript,Typescript,Phaser Framework,我在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} 但是,当玩家与另一个精灵碰撞时,在
export class Player extends Phaser.Physics.Arcade.Sprite {...}
我正在使用blocked
状态查看我的播放器精灵是否与任何其他物理对象发生碰撞
console.log(this.body.blocked)
这适用于静态物理体,玩家站在地板上或平台上:
{none:false,up:false,down:true,left:false,right:false}
但是,当玩家与另一个精灵碰撞时,在这种情况下,移动平台(是一个正常的身体,而不是静止的身体),那么被阻止的状态是:
{none:true,up:false,down:false,left:false,right:false}
为什么会这样?blocked
属性是否仅适用于静态实体?如果是这样,我如何知道玩家是否站在非静态物体上?来自Phaser 3 source的代码表明block
属性默认给出此结果,这意味着它不会与平铺或世界边界碰撞,所以当它与另一个精灵碰撞时,我认为它没有被执行,所以它给出了默认值,它是{none:true,up:false,down:false,left:false,right:false}
来自Phaser 3 source的代码表明block
属性默认给出此结果,这意味着它不会与平铺或世界边界碰撞,因此当它与另一个精灵碰撞时,我认为它不会执行,因此它会给出默认值,即{none:true,up:false,down:false,left:false,right:false}