通过单击要删除的动画片段中的按钮来删除动画片段

时间:2014-05-25 18:34:39

标签: actionscript-3

我正在尝试通过单击我要删除的同一剪辑内的按钮来删除一个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);
    }

1 个答案:

答案 0 :(得分:1)

除非' removeChild'陈述是在父母的课堂上,你真的想要删除ITS孩子。否则,你必须将你想要删除的对象的正确谱系放入()中。因此,如果'助手'是一个fermerAide_mc'如果removeChild语句也在' fermerAide_mc'然后你可以说removeChild(aide)。但是如果removeChild语句在' pageAide_mc'上,那就是' fermerAide_mc'的。你不得不说removeChild(aide)。如果removeChild语句位于' pageAide_mc'的父级,则说出removeChild(fermerAide_mc.aide)

这不太难理解,是吗?

如果' removeChild'代码在你要删除的对象(助手)上?然后你说removeChild(pageAide_mc.fermerAide_mc.aide)MovieClip(parent).removeChild(aide)。当然,请记住,我们并不是在谈论将代码直接放在时间轴中的对象上。您始终将Actionscript 3.0代码放在控制这些对象的中。