Actionscript 3 通过单击要删除的movieclip中的按钮删除movieclip

Actionscript 3 通过单击要删除的movieclip中的按钮删除movieclip,actionscript-3,Actionscript 3,我试图通过点击一个按钮来删除一个movieclip(它有一个到另一个类的AS链接),该按钮位于我想要删除的同一个剪辑中。关于这一点,我问过很多人,他们似乎不知道怎么做。AS3不是我喜欢的,所以我自己也找不到办法 以下是我的(糟糕的)代码目前的样子: public class PageWestmount extends MovieClip{ // PROPRIÉTÉS // -----------------------------------------------------

我试图通过点击一个按钮来删除一个movieclip(它有一个到另一个类的AS链接),该按钮位于我想要删除的同一个剪辑中。关于这一点,我问过很多人,他们似乎不知道怎么做。AS3不是我喜欢的,所以我自己也找不到办法

以下是我的(糟糕的)代码目前的样子:

public class PageWestmount extends MovieClip{
    // PROPRIÉTÉS
    // -----------------------------------------------------
    private var _XMLURLLoader:URLLoader = new URLLoader(); // object pour charger cibler l'emplacement du XML à charger                                             
    private var _requete:URLRequest; // init le chemin d'accès vers l'emplacement du XML
    private var _source:String; // init source du XML à charger
    private var _alimentation:Boolean;
    private var _hebergement:Boolean;
    private var _vestimentaire:Boolean;
    private var _video:Boolean;
    private var _photos:Boolean;
    private var _aide:Boolean;
    private var listePoints:Array;
    private var _XMLData:XML;
    var aide:pageAide= new pageAide();
    var video:Videos= new Videos();
    var photos:SrcPhotos= new SrcPhotos();

    // CONSTRUCTOR
    // -----------------------------------------------------
    public function PageWestmount(){
        addEventListener(Event.ADDED_TO_STAGE, init); 
        pageAide_mc.fermerAide_mc.addEventListener(MouseEvent.CLICK, removeAide);
        myVideoPlayer.fermerVideo_mc.addEventListener(MouseEvent.CLICK, removeVideo);
        compPhotos_mc.fermerPhotos_mc.addEventListener(MouseEvent.CLICK, removePhotos);
    }// end constructor
以下是从舞台上移除剪辑的功能:

    private function removeAide(e:MouseEvent):void {
        removeChild(aide);
    }

    private function removeVideo(e:MouseEvent):void {
        removeChild(video);
    }

    private function removePhotos(e:MouseEvent):void {
        removeChild(photos);
    }

您不能只说
removeChild(aide)
,除非'removeChild'语句在父类上,并且您确实试图删除它的子类。否则,您必须将要删除的对象的正确血统放入()。因此,如果'aide'是'fermerAide_mc'的子代,并且如果removeChild语句也在'fermerAide_mc'上,那么您可以说
removeChild(aide)
。但是,如果removeChild语句位于“pageAide\u mc”上,这是“fermerAide\u mc”的父项,则必须说
removeChild(fermerAide\u mc.aide)
。如果removeChild语句位于“pageAide\u mc”的父项上,您会说
removeChild(pageAide\u mc.fermerAide\u mc.aide)

这不难理解,是吗

如果“removeChild”代码出现在您要删除的对象(aide)上,该怎么办?然后你会说
MovieClip(parent).removeChild(aide)
MovieClip(parent).removeChild(this)
。当然,请记住,我们不是在讨论将代码直接放在时间线中的对象上。您总是将Actionscript 3.0代码放入控制这些对象的类中