如何在Phaser 3中旋转区域?

时间:2019-03-15 16:34:08

标签: javascript phaser-framework

有人知道如何在Phaser 3中旋转区域吗?

我正在尝试设置3个区域(在this.zones对象中注册)以检测冲突,但是我无法实现这一点,但是我没有尝试过任何操作,并且this.zones.gauche.angle = 45和使用this.zones.gauche.setAngle(45)。 在控制台中,我的区域似乎在旋转,但是它们不在游戏窗口中(我可以看到它们,因为它们是在启用了调试的情况下添加到物理街机静态组中的)。 我究竟做错了什么 ? 谢谢!

一些代码:

create () {
  this.zones.fond     = this.add.zone(0, 0).setSize(game.CONFIG.width, 170);
  this.zones.gauche   = this.add.zone(0, 0).setSize(170, game.CONFIG.width).setAngle(45);
  this.zones.droite   = this.add.zone(737, 208, 170, game.CONFIG.width).setAngle(-45);

  this.objets.zones   = this.physics.add.staticGroup();
  this.objets.zones.add(this.zones.fond);
  this.objets.zones.add(this.zones.gauche);
  this.objets.zones.add(this.zones.droite);
}// create () {

[编辑]文档说明了可能:https://photonstorm.github.io/phaser3-docs/Phaser.GameObjects.Zone.html#angle__anchor

1 个答案:

答案 0 :(得分:0)

您可以旋转区域,但是在您的代码中,您正在创建Arcade Physics实体,而不是区域,并且任何Arcade Physics对象的局限性在于它无法旋转。它仅使用AABB。如果您想旋转物理身体,则需要使用Matter.js。