如何在 Phaser 3 中旋转区域?

How to rotate a Zone in Phaser 3?

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

我正在尝试设置 3 个区域(在 this.zones 对象中注册)以检测碰撞,但我无法实现,我尝试的任何方法都不起作用,this.zones 也没有。 gauche.angle = 45 也不与 this.zones.gauche.setAngle(45)。 在控制台中,我的区域似乎被旋转了,但它们不在游戏中 window(我能看到它们是因为它们被添加到物理街机静态组并启用了调试)。 我究竟做错了什么 ? 谢谢!

一些代码:

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

您可以旋转区域,但在您的代码中,您创建的是 Arcade Physics Bodies,而不是区域,并且任何 Arcade Physics object 的限制是它不能旋转。它仅使用 AABB。如果您想旋转物理 body.

,则需要使用 Matter.js