Я пытаюсь установить точку привязки прямоугольного графического объекта в его центр, чтобы можно было вращать его вращение. Единственная связанная информация, которую я могу найти, говорит об использовании свойств dispalyOriginX и dispalyOriginY, но это, похоже, ничего не делает. Вот мой код:
export default class GameUi extends Phaser.GameObjects.Group {
constructor(scene) {
super(scene);
let test = new Graphics(scene);
test.setName('test');
test.lineStyle(4, 0xffffff, 1);
test.strokeRectShape(new Rectangle(100, 100, 75, 50));
// The following doesn't work :(
// test.displayOriginX = 0.5;
// test.displayOriginY = 0.5;
scene.tweens.add({
targets: test,
angle: 20,
duration: 2000,
ease: "Power2",
yoyo: true,
loop: -1
});
this.addMultiple([test], true);
}
}
Прямоугольник должен вращаться вокруг своего центра, но, как вы можете видеть на изображении ниже, он, кажется, вращается вокруг верхнего левого угла игровой области. Я попытался свойства displayOrigin со значениями от 0,5 до 500, все с тем же результатом.
![enter image description here](https://i.stack.imgur.com/dmsYR.png)
Я думал, что это может быть, потому что я добавив прямоугольник в группу, которая вызывает проблему, но я пытался не добавлять его в группу с тем же эффектом. Вот как выглядел мой код, когда он не был частью группы:
export default class GameUi {
constructor(scene) {
let test = scene.add.graphics();
// the rest stays the same as in my first code example
}
}