如何让一个MovieClip在AS3中删除自己?

Sku*_*uge 5 actionscript-3 flash-cs4 movieclip

removeMovieClip()在AS3中相当于什么?

显然很多人都有同样的问题:
StackOverflow:

  1. 如何在as3中完全删除动画片段
  2. 删除影片剪辑as3
  3. 如何删除childmovieclip并添加到新的父动画片段

其他:

  1. 在AS3中删除了MoovieClip(this)?
  2. 销毁/删除Movieclip ???
  3. 删除影片剪辑

但对我来说,他们的解决方案似乎都不起作用:

我正在使用AS3处理闪存CS4:

我有一个非常简单的电影,只有一个叫做click的按钮.按下按钮,会创建一个新的硬币实例:

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
}
Run Code Online (Sandbox Code Playgroud)

它可能不是最好的代码,但它工作正常.现在,硬币MovieClip应该显示一个小动画并自行删除.在旧的AS2中我会添加:

this.removeMovieClip()
Run Code Online (Sandbox Code Playgroud)

在动画的最后一帧.但这在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'       
Run Code Online (Sandbox Code Playgroud)

解决方案?

谢谢,

Ull*_*loo 11

this.parent.removeChild(this);
Run Code Online (Sandbox Code Playgroud)

这个应该工作; 这就是我用的东西.我切换到AS3时遇到的一个问题是,有时候它不会像孩子那样被添加,所以你可能想检查一下.如果你还没有将它放在顶部,你还必须导入flash.display:

import flash.display.*
Run Code Online (Sandbox Code Playgroud)

在删除之前,您还应该删除它上面的事件侦听器.