К чему эквивалент removeMovieClip()
в AS3?
По-видимому, у многих есть тот же вопрос:
StackOverflow:
Другие:
Но ни одно из их решений, кажется, не работает для меня:
Я работаю над флэш-памятью CS4 с AS3:
У меня есть очень простой фильм с единственной кнопкой, названной щелчком. При нажатии кнопки создается новый экземпляр монеты:
this.click.addEventListener(MouseEvent.CLICK,justclick);
function justclick(e:MouseEvent){
var money=new coin
this.addChild(money)
money.x=e.stageX
money.y=e.stageY
}
Это не мог бы быть лучший код, но это хорошо работает. Теперь, монета MovieClip, как предполагается, показывает маленькую анимацию и удаляет себя. В старом добром AS2 я добавил бы:
this.removeMovieClip()
в последнем кадре анимации. Но это не существует в AS3.
Я попробовал без успеха:
this.parent.removeChild(this) // 'Cannot access a property or method of nullobject reference'...
this.removeMovieClip() // 'removeMovieClip is not a function'
removeMovieClip(this) //'call to possibly undefined method removeMovieClip'
unloadMovie(this)//'call to possibly undefined method removeMovieClip'
Решения?
Спасибо,
this.parent.removeChild(this);
Этот должен работать; это то, что я использую. Одна проблема, с которой я столкнулся, когда перешел на AS3, заключается в том, что иногда он не добавлялся как дочернее право, так что вы можете проверить это. Вы также должны импортировать flash.display, поместив это в начало, если вы еще не импортировали:
import flash.display.*
Вы также должны удалить слушателя событий на нем, прежде чем удалять его.