Это, вероятно, потому, что вы пытаетесь удалить Enemy MovieClip из stage
, который не является (прямым) потомком.
Я предлагаю вам изменить это:
stage.removeChild(this);
к этому:
this.parent.removeChild(this);
Если у вас есть ссылка на DisplayObject, например this
, в этом случае вы всегда можете удалить его из родительского объекта, даже если вы не знаете, что это за родительский объект. Или, скорее, вы можете удалить его, если знаете, что он есть в списке отображения, так что вы также можете сначала проверить его, выполнив:
if(this.parent) {
this.parent.removeChild(this);
}