Keyda

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

0 Newbie

About Keyda

  • Rank
    Newbie
  1. Hello, is there another way to reload a swf on AIR iOS using the greensock swf loader? The regular loader seems to work fine. var loaderf: SWFLoader; var queue: LoaderMax; function moduleClicked(e: Event): void { loadSWF("com/SWF/" + e.target.moduleTitle_txt.text.replace(/ /g, "_") + ".swf"); } function loadSWF(path: String): void { var request: URLRequest; request = new URLRequest(); request.url = path + "?newfile=" + Math.random(); request.cacheResponse = false; request.useCache = false; var lc: LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); lc.allowCodeImport = true; try { Security.allowDomain("*"); } catch (e) {} queue = new LoaderMax({ name: "mainQueue", onProgress: progressHandler, onComplete: completeHandler, onError: errorHandler }); loaderf = new SWFLoader(request, { name: "childClip", estimatedBytes: 15000000, container: this, autoPlay: true, onInit: initHandler, context: lc, scaleX: stage.stageWidth / 640, scaleY: stage.stageHeight / 480 }); queue.append(loaderf); queue.load(true); } function initHandler(event: LoaderEvent): void { loaderf.rawContent.addEventListener("close", closeLoader); } function closeLoader(event: Event): void { queue.getLoader("childClip").unload(); queue.getLoader("childClip").dispose(); } function progressHandler(event: LoaderEvent): void { trace("progress: " + event.target.progress); } function completeHandler(event: LoaderEvent): void { trace(event.target + " is complete!"); } function errorHandler(event: LoaderEvent): void { trace("error occured with " + event.target + ": " + event.text); } And this is my code for the regular Loader (this works on reloading but it seems the greensock loader doesn't work) var _swfLoader: Loader; var _urlLoader: URLLoader; var _swfContent: MovieClip; function moduleClicked(e: Event): void { try{ loadSWF("com/SWF/" + e.target.moduleTitle_txt.text.replace(/ /g, "_") + ".swf"); }catch(e:Error){} trace("clicked"); } function loadSWF(path: String): void { try { Security.allowDomain("*"); } catch (e) {} _swfLoader = new Loader(); _urlLoader = new URLLoader(); setupListeners(_swfLoader.contentLoaderInfo); _urlLoader.dataFormat = URLLoaderDataFormat.BINARY; _urlLoader.addEventListener(IOErrorEvent.IO_ERROR, loginError); _urlLoader.addEventListener(Event.COMPLETE,onLoads); _urlLoader.load(new URLRequest(path)); } function onLoads(e:Event){ var lc:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); lc.allowCodeImport = true; _swfLoader.loadBytes(_urlLoader.data,lc); // setupListeners(_swfLoader.contentLoaderInfo); } function preloadSWF(event: ProgressEvent): void { var _perc: int = (event.bytesLoaded / event.bytesTotal) * 100; // swfPreloader.percentTF.text = _perc + "%"; /*Loading_bar.text = "Loading" + _perc;*/ trace(_perc); } function addSWF(event: Event): void { event.target.removeEventListener(Event.COMPLETE, addSWF); event.target.removeEventListener(ProgressEvent.PROGRESS, preloadSWF); _swfContent = event.target.content; _swfContent.addEventListener("close", unloadSWF); try{ addChild(_swfContent); }catch(e:Error){} _swfContent.scaleX = stage.stageWidth / 640; _swfContent.scaleY = stage.stageHeight / 480; } function loginError(event:IOErrorEvent): void { trace("Error loading the URL"); } public function unloadSWF(event: Event): void { _swfLoader.unloadAndStop(); removeChild(_swfContent); //_swfLoader = null; _swfContent = null; /*System.gc();*/ } function setupListeners(dispatcher: IEventDispatcher): void { dispatcher.addEventListener(Event.COMPLETE, addSWF); dispatcher.addEventListener(ProgressEvent.PROGRESS, preloadSWF); }
  2. Please update this thread, can anyone answer?