我正在开发的一个网站(使用 AS2,因为它是老式的)有一个更大的索引 .swf 文件,它使用 .swf 加载子 swfs loadMovie("foo1.swf", placeToShowSwf)
。一直到 4,这foo1.swf
很愚蠢,因为它们之间唯一不同的是 xml 文件地址中的一个数字,它告诉它要加载什么内容。因此,我想将其简化为一个文件,并使用索引文件调用以加载 xml 文件的简单函数,如此处所示。
function setFooNum(i:Number) {
fooNum = i;
//my_xml = new XML(); edit: this line has since been removed and is kept for historical purposes
my_xml.load("foo"+fooNum+".xml");
};
但是,由于某种原因,xml 文件不会加载。它在函数之外正确加载,但这对我没有多大好处。它会正确更改 fooNum,但是如果已经加载了错误的 xml 文件,那对我没有任何好处。据我所知,代码表现得好像my_xml.load("foo"+fooNum+".xml")
根本不存在。
这是某种我不知道的安全措施吗,有什么办法吗?
编辑
正如几个人指出的那样,这my_xml = new XML()
条线是罪魁祸首。不幸的是,我现在遇到了一个令人兴奋的新错误。当在索引文件中的setFooNum(i)
之后立即调用内部的打印出 fooNum 设置正确,但内部的a (尽管显然没有加载,但返回成功,顺便说一句)表明 fooNum 未定义!此外,我在索引 swf 中创建了一个按钮,用于调用(用于调试目的),出于某种原因,它可以正常工作。所以等待几秒钟文件加载似乎可以解决问题,但这是一个非常丑陋的解决方案。loadMove()
trace(fooNum)
setFooNum()
trace(fooNum)
onLoad()
setFooNum(3)
那么我该如何等到所有内容都完全加载后再调用setFooNum()
呢?