#javascript #phaser-framework
#javascript #phaser-фреймворк
Вопрос:
Кто-нибудь знает, как повернуть зону в Phaser 3?
Я пытаюсь настроить 3 зоны (зарегистрированные в объекте this.zones) для обнаружения столкновений, но я не могу этого добиться, ничего из того, что я пробовал, не работает ни с this.zones.gauche.angle = 45, ни с this.zones.gauche.SetAngle(45). В консоли кажется, что мои зоны повернуты, но их нет в окне игры (я вижу их, потому что они добавлены в статическую группу physics arcade с включенной отладкой). Что я делаю не так? Спасибо!
Немного кода :
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#угол__привязки
Ответ №1:
Вы можете повернуть зону, но в вашем коде вы создаете физические тела аркады, а не зоны, и ограничение любого физического объекта аркады заключается в том, что он не может вращаться. Он использует только AABB. Вам нужно будет использовать Matter.js если вы хотите повернуть свое физическое тело.
Комментарии:
1. Что ж, я решил это, используя старое доброе математическое решение: с помощью y = ax b мне удается узнать, где находится мой спрайт. Больше нет ни аркадных тел, ни зон. Еще раз спасибо и хорошего дня!