0

我正在努力做一件简单的事情,我有一个对象通过创建和添加一个在 Flash 中完成的简单动画来生成烟雾轨迹。一切正常,但我似乎找不到一种简单的方法在播放动画后让烟雾自行消失,如果我在this.parent.removeChild(this);动画的最后一帧添加类似的东西,应用程序就会崩溃Cannot access a property or method of a null object reference.

我究竟做错了什么?

4

2 回答 2

1

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

谢谢你弗兰克赫姆斯

this.parent.removeChild(this);
this.stop();
于 2012-05-10T12:07:55.963 回答
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 中的任何代码。
于 2015-11-14T08:51:31.543 回答