очень часто нет необходимости писать код таким образом, это делает проект чрезвычайно сложным в обслуживании и создает ненужные проблемы: больше времени для внесения изменений, плохая читаемость и легкость ошибок, например this.isCircle35Created
хорошей идеей было бы создать массив окружностей
this.circles = []
, чтобы добавить созданный круг, используя
this.circles.push(circle)
, когда вам нужно посчитать, какмногие круги уже существуют, используйте
this.circles.length
например, когда существует 2 круга, вы можете использовать this.circles.length + 1
, чтобы получить 3 , который вам нужен для вашей строки "circle3".
отсюда есть несколько вариантов:
опция 1 . создайте переменную для отслеживания того, добавляете ли вы или удаляете круги
this.addingCircles = true
, чтобы ваша логика была следующей:
- Если вы добавляете круги, создайте круг и переместите существующиевниз;повторяйте, пока у вас не будет 5 кругов
- Измените
this.addingCircles
на false - Если не добавляете круги, переместите последний круг обратно туда, где он был создан, и удалите его после завершения анимации;повторять до тех пор, пока не останется кружков
- Измените
this.addingCircles
на true
опция 2 . создайте все круги сразу в начале и используйте анимацию для каждого из них с задержкой на основе их индекса. например, с задержкой this.circles.length * 2000
первый круг будет иметь значение 0, второй будет ждать 2000 мс, прежде чем запустить анимацию движения
опция 3 . если вы можете переключиться на Phaser 3, я бы порекомендовал сделать это, поскольку он имеет шкалы времени , которые облегчают это