如何使符号在某个帧处移除?

时间:2012-05-09 12:02:28

标签: actionscript-3 movieclip

我正在努力做一件简单的事情,我有一个通过创建和添加在flash中完成的简单动画来生成烟雾痕迹的对象。一切正常,但我似乎无法找到一种简单的方法让烟雾在播放动画后自行移除,如果我在动画的最后一帧添加this.parent.removeChild(this);之类的东西,应用程序只会崩溃{{1 }}

我做错了什么?

2 个答案:

答案 0 :(得分:1)

动画继续播放,即使对象不再被渲染,在第二次调用this.parent.removeChild(this);时,对象不再是任何对象的父级,停止动画解决了问题

谢谢frankhermes

this.parent.removeChild(this);
this.stop();

答案 1 :(得分:1)

在您的主影片剪辑中,代码下方分配给一个按钮(显示按钮):

var swfLoader:Loader = new Loader();
stage.addChild(swfLoader);

var swfURL:URLRequest = new URLRequest("yourchildSWF.swf");

swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
swfLoader.load(swfURL);

    function loadComplete(e:Event):void 
        {
            //swfLoader.x = (stage.stageWidth-swfLoader.width)/2; //for center align
            //swfLoader.y = (stage.stageHeight-swfLoader.height)/2; //for center align

            swfLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComplete); 
            swfLoader.content.addEventListener(MouseEvent.CLICK, function(e:Event) 
                {
                    swfLoader.unload();                                 
                } ); 

        }

你的孩子swf必须有一个按钮。当按下它时,swf将被关闭。(创建一个符号作为关闭按钮的按钮)

  • 在子swf中不需要任何代码。