FlashDevelop 遇到的Process not responding 问题

在用swf加载另一个swf文件时遇到了一个很有趣的问题,两个文件都在F盘中,路径不同,分别是:F:\SWF_1\bin\SWF1.swf和F:\SWF_2\bin\SWF2.swf,SWF2中有个加载函数,很简单,加载完成后添加到舞台上,但在运行时总是提示Process not responding,然后FlashPlayer就死了,断点一看,SWF2中的文档类一直在执行,导致fp挂掉,找了半天也不知道是什么原因,后来把SWF1文件直接移到F:上再加载,一切正常,代码如下:

 

SWF1的代码:

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.system.Security;
    import flash.text.TextField;
    import flash.text.TextFieldType;
    
    /**
     * ...
     * @author me
     */
    public class Main extends Sprite
    {
        public function Main():void
        {
            Security.allowInsecureDomain("*");
            Security.allowDomain("*");
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            var tf:TextField = new TextField();
            tf.text = "大多发点斐然";
            tf.restrict = "\u33a0-\uf7fe";
            tf.type = TextFieldType.INPUT;
            tf.width = 1000;
            tf.height = 500;
            
            addChild(tf);
            
            var ball:BigBall = new BigBall();
            addChild(ball);
        }
        
    }
    
}

 

SWF2的代码如下:

//加载类

package load
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.errors.IOError;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.events.ProgressEvent;
    import flash.net.URLRequest;
    /**
     * ...
     * @author me
     */
    public class LoadSWF extends Sprite
    {
        
        public function LoadSWF()
        {
            
        }
        
        public function load(url:String):void
        {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleted);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError);
            loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
            loader.load(new URLRequest(url));
        }
        
        private function onCompleted(e:Event):void
        {
            var loader:Loader = e.target.loader as Loader;
            loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onCompleted);
            loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onError);
            addChild(loader);
            //process(loader);
        }
        
        private function onError(e:IOErrorEvent):void
        {
            var loader:Loader = e.target.loader as Loader;
            loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onCompleted);
            loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onError);
            trace(e.toString());
        }
        
        private function onProgress(e:ProgressEvent):void
        {
            trace(e.bytesLoaded + "/" + e.bytesTotal);
        }
        
        private function process(loader:Loader):void
        {
            //_stage.addChild(loader);
        }
    }

}

//文档类如下:

package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import load.LoadSWF;
    
    /**
     * ...
     * @author me
     */
    public class Main extends Sprite
    {
        
        public function Main():void
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
            load();
        }
        
        private function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            
        }
        
        
        private function load():void
        {
            var loadSWF:LoadSWF = new LoadSWF();
            //loadSWF.load("F:\\SWF_1\\bin\\GameLogin.swf");  //此路径下加载没有问题
            loadSWF.load("F:\\SWF_1\\bin\\SWF1.swf");  //这样加载FlashDevelop一直提示Process not responding,过会就直接挂了
            //loadSWF.load("F:\\SWF1.swf"); //此路径下加载没有问题
            addChild(loadSWF);
        }
    }
    
}

这个FlashPlayer的问题?

posted @ 2014-04-16 16:29  chinayfhuang  阅读(377)  评论(0)    收藏  举报