actionscript-3 – URLRequest多个SWF链接无法正常工作
发布时间:2020-12-15 07:26:25 所属栏目:百科 来源:网络整理
导读:我正在尝试在3个不同的容器中装载3种不同的代码. 当我删除这一行时: loader2.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclubinfo=1game=blfont_face=Arialbold=truefont_color=FFFFFFbg_color=240000font_siz
我正在尝试在3个不同的容器中装载3种不同的代码.
当我删除这一行时: loader2.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclub&info=1&game=bl&font_face=Arial&bold=true&font_color=FFFFFF&bg_color=240000&font_size=24¤cy=eur")); loader3.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclub&info=1&game=bl&font_face=Arial&bold=true&font_color=FFFFFF&bg_color=240000&font_size=24¤cy=eur")); 并单独加载它们工作正常: 但当我把它们装在一起时,正如在土坯中的this document中所写,所有三个代码显示相同的数字: package { import flash.display.MovieClip; import flash.net.URLRequest; import flash.display.Loader; public class importExternalSWF extends MovieClip { private var loader:Loader = new Loader(); private var loader2:Loader = new Loader(); private var loader3:Loader = new Loader(); public function importExternalSWF() { loader.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclub&info=1&game=mrj-4&font_face=Arial&bold=true&font_color=FFFFFF&bg_color=240000&font_size=24¤cy=eur")); loader2.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclub&info=1&game=bl&font_face=Arial&bold=true&font_color=FFFFFF&bg_color=240000&font_size=24¤cy=eur")); loader3.load(new URLRequest("http://tickers.playtech.com/jackpots/new_jackpot.swf?casino=cityclub&info=1&game=grel&font_face=Arial&bold=true&font_color=FFFFFF&bg_color=240000&font_size=24¤cy=eur")); ticker1.addChild(loader); ticker1.width=50; ticker1.height=20; ticker2.addChild(loader2); ticker2.width=50; ticker2.height=20; ticker3.addChild(loader3); ticker3.width=50; ticker3.height=20; } } } 我无法在任何地方找到解决方案 谢谢 编辑 public class importExternalSWF extends MovieClip { public function importExternalSWF() { var url = "http://tickers.playtech.com/jackpots/new_jackpot.swf"; var urlParams:Array = ["grel","bl","game=mrj-4"]; var tickers:Array = [ticker1,ticker2,ticker3]; var tickerHeight:Number = 50; var tickerWidth:Number = 50; loadUrls(); function loadUrls():void { for(var i:uint = 0; i<urlParams.length; i++) { var urlLoader = new Loader(); var flashvars:URLVariables = new URLVariables(); flashvars["casino"] = "cityclub"; flashvars["info"] = "1"; flashvars["game"] = urlParams[i]; flashvars["currency"] = "eur"; flashvars["font_face"] = "arial"; flashvars["bold"] = "true"; flashvars["font_size"] = "10"; flashvars["bg_color"] = "0x000000"; flashvars["font_color"] = "ffffff"; var request:URLRequest = new URLRequest(url); request.data = flashvars; urlLoader.load(request); tickers[i].width=tickerWidth; tickers[i].height=tickerHeight; tickers[i].addChild(urlLoader); } } } 解决方法
我怀疑外部SWF文件在根级别设置了一些变量.因此,每个加载都将覆盖以前的值,并且您将在所有“代码”中得到相同的分数.
最有可能通过将每个SWF加载到其自己的ApplicationDomain中来解决此干扰.默认情况下,SWF正在加载到同一个ApplicationDomain中并共享其代码. 所以不要这样做: urlLoader.load(request); 你应该这样做: // create a new LoaderContext with a spearate ApplicationDomain var context:LoaderContext = new LoaderContext(false,new ApplicationDomain()); // load the request and use the context with the separate ApplicationDomain urlLoader.load(request,context); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |