我尝试制作一个将 amfphp 与 as3 动画连接的应用程序。我从 amfphp 收到一个数组,我按“if”语句中的某个变量排序。之后,我有 2 个数组,其中包含彼此的数组:
var Array1:Array = [["http://url.to.swf", "http://url.to.link"], ["",""]...];
var Array2:Array = [["http://url.to.swf", "http://url.to.link"], ... ];
之后,我运行一个读取该数组并将每个 swf 加载到舞台的函数:
ladujBajkiGorne(Array1);
function ladujBajkiGorne(polkaGorna:Array):void {
for(var i=0; i<polkaGorna.length; i++) {
Aktual = polkaGorna[i];
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest(String(Aktual[0]));
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, myfunction = function(e:Event):void { onLoadGorna( e, String(Aktual[1]) ); } );
mLoader.load(mRequest);
}
}
然后
function onLoadGorna(e, arg1):void {
userSwf = e.currentTarget.content;
userSwf.buttonMode = true;
userSwf.addEventListener(MouseEvent.CLICK, function(e:MouseEvent) { afterClick(e, arg1 ); });
booksMC.addChild(userSwf);
var childName:String = booksMC.getChildAt(childs).name;
booksMC.getChildByName(childName).x = posX;
booksMC.getChildByName(childName).y = 0;
posX += 218;
childs++;
}
最后
function afterClick(e, arg3) {
var url:URLRequest = new URLRequest(arg3);
navigateToURL(url, "_self");
}
问题是所有已加载的 swf 在链接中都有相同的 url。它在 addEventListener 语句中的 ladujBajkiGorne 函数中没有改变。我尝试了很多选择来改变它,但没有任何效果。有机会帮助我吗?提前谢谢了