Поместите графику поверх динамически добавленного спрайта в Phaser
Я добавляю спрайты динамически, используя синхронизированное событие. Я не могу найти способ перенести новую графику (залитый прямоугольник) поверх сгенерированных спрайтов.
Спрайты всегда на высоте
create()
{
var graphics = game.add.graphics(0, 0);
graphics.beginFill(0xFFFF0B);
graphics.drawRect(0, 0, windowWidth, 70);
graphics.endFill();
timer = game.time.events.loop(1500, addSprite, this);
}
addSprite()
{
sprite= game.add.sprite(20, 30, 'sprite');
}
Любая помощь??
1 ответ
Графические объекты в Phaser являются просто стандартными объектами списка отображения, такими как спрайты. Они добавляются в мир по умолчанию (как и спрайты), и вы можете перемещать их, используя команды уровня Phaser.Group, такие как moveUp, moveDown, takeToTop и т. Д. Полный список вы найдете здесь: http://docs.phaser.io/Phaser.Group.html
Поэтому, добавив Sprite в приведенный выше код, перенесите объект Graphics на вершину группы:
game.world.bringToTop(graphics);
Примечание: на данный момент у вас есть локальная переменная graphics
так что вам нужно сделать это видимым для остальных ваших функций, чтобы это работало.