如何在 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
有谁知道如何在 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