Кнопка, удаленная с помощью removeChild (), снова добавляется в состояние «закончено» - PullRequest
0 голосов
/ 05 сентября 2011

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

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

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

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

1 Ответ

1 голос
/ 19 октября 2011

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

...