Название события вводит в заблуждение.removedFromStage
, согласно документам, «отправляется, когда экранный объект собирается удалить из списка отображения ».Другими словами, это то, что происходит в вашем коде:
- Где-то в вашем коде, вы звоните
parent.removeChild(this)
actualDestroy
немедленно вызывается.На этом этапе объект все еще находится в списке отображения , поэтому this.parent != null
- В
actualDestroy
вы снова вызываете parent.removeChild(this)
. - Перейти к шагу2
Таким образом, чтобы решить эту проблему, вы можете реорганизовать свой код (удаление объекта из списка отображения в любом случае никогда не будет хорошей идеей) или использовать некоторое логическое значение, например beingRemoved
, дляпроверьте, удаляется ли объект уже из списка.В этом случае не звоните parent.removeChild(this)
в actualDestroy
.