Добавьте графику поверх динамически добавляемого спрайта в 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');
}

Любая помощь??


person Bimal Bose B S    schedule 11.05.2014    source источник


Ответы (1)


Графические объекты в Phaser — это просто стандартные объекты списка отображения, такие как спрайты. Они добавляются в мир по умолчанию (как и спрайты), и вы можете перемещать их с помощью команд уровня Phaser.Group, таких как moveUp, moveDown, BringToTop и т. д. Полный список вы найдете здесь: http://docs.phaser.io/Phaser.Group.html

Итак, как только вы добавили свой спрайт в приведенный выше код, переместите свой объект Graphics в верхнюю часть группы:

game.world.bringToTop(graphics);

Примечание. На данный момент у вас есть локальная переменная graphics, поэтому вам нужно сделать ее видимой для остальных ваших функций, чтобы это работало.

person PhotonStorm    schedule 02.06.2014