开发者

AS3 MovieClip not playing consistently

So at the beginning when my SWF loads up it also loads up a sequence of animated clips like so:

var loader:Loader = new Loader();
loader.load(new URLRequest("clips/clip4.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, clip4Loaded);

And my clipLoaded function is:

private function clip4Loaded(e:Event):void {
    clip4 = e.target.content as MovieClip;
}

The clip4 file being loaded in has a stop() at the first frame. Later in the game (clip4 is the "outro") I use:

clip4.gotoAndPlay(0);
clip4.addFrameScript(clip4.totalFrames - 1, clip4End);

However, the clip only seems to play about 25% of the time and all the other clips which I load the exact same way play fine. The only difference is that those clips get played fairly soon after 开发者_StackOverflow社区they load which leads me to believe clip4 is being autoreleased at some point but I really have no clue.


strange - i've got a timeline-animated swf with stop(); in the first frame and the following code:

package {
    import flash.display.Loader;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.URLRequest;

    /**
     *
     * @author www0z0k
     */
    [SWF(width='400', height='300', frameRate='30')]
    public class NewClass extends Sprite {
        private const URL:String = 'res/1.swf';
        private var spr:MovieClip;
        public function NewClass():void {
            var ldr:Loader = new Loader();
            ldr.contentLoaderInfo.addEventListener(Event.INIT, onloaded);
            ldr.load(new URLRequest(URL));
        }

        private function onloaded(e:Event):void {
            spr = e.target.content as MovieClip;
            addChild(spr);
            spr.addFrameScript(spr.totalFrames - 1, function():void { x = x == 0 ? 100 : 0; } );
            spr.addEventListener(MouseEvent.CLICK, onclick);
        }

        private function onclick(e:MouseEvent):void {
            spr.gotoAndPlay(0);
        }
    }    
}  

and it works exactly as it's written.
could you please upload your clip4.swf anywhere (or test this code with it yourself)?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜