Кнопка, удаленная с помощью removeChild(), снова добавляется в состояние "закончено"

У меня есть SimpleButton на сцене, и в событии щелчка я удаляю его, используя removeChild(), При повторном добавлении кнопки она снова добавляется в состоянии "больше", а не в состоянии "вверх", как ожидалось.

Я почти уверен, что это ошибка, поэтому я подал JIRA: http://bugs.adobe.com/jira/browse/SDK-31445, теперь мой вопрос о том, как это исправить, если у кого-то был подобный опыт.

Что я пробовал:

  • с помощью visible = false вместо этого работает, но я бы предпочел вообще убрать его со сцены, так как в игре, над которой я работаю, может быть много всплывающих окон / экранов.
  • Увольнение mouse_out событие вручную - не работает, и в любом случае mouse_out событие срабатывает, как и ожидалось (возможно, перед возвратом в рабочее состояние, он проверяет, добавлено ли оно на сцену, узнает, что нет, а затем выходит рано)
  • Сброс фокуса сцены - я подумал, что это проблема фокуса сцены, так как вы теряли фокус, когда кнопка была скрыта, но сброс ее не помог.
  • Я мог бы временно поменять местами состояние "вверх-вверх", когда оно скрыто, но это выглядит ужасно.

1 ответ

У меня тоже возникла эта проблема: я удаляю одну кнопку и добавляю другую в ответ на событие Mouse up на отдельном спрайте. То есть мышь не находится над одной из кнопок в то время, но когда появляется первая кнопка (ранее была удалена мышь, которая действительно находилась над ней, поэтому она не получила событие mouseOut и осталась в состоянии over. Использование видимости, чтобы обойти это, что подходит для моих нужд, НО альтернативный ответ будет заменить новым экземпляром кнопки перед добавлением его в список отображения.

Другие вопросы по тегам