我是as3的新手。 我声明了一个全局变量,它接收xml中我的图像的长度。我为xml加载完成创建了一个函数,一旦xml数据被完全加载,我得到了长度。 我在函数内部跟踪它并输出正确数量的指定节点但是当我在外面追踪它时,值就消失了...我怎样才能全局分配值,而不仅仅是函数... ty
答案 0 :(得分:0)
在函数内声明的变量仅对该函数的内容可见。如果你想在该函数之外找到它,请至少在声明函数的同一范围内声明一个变量,如:
var myXmlLength:Number;
function onXmlComplete( evt:Event ):void
{
myXmlLength = evt.target.data.length;
}
trace( myXmlLength );
此外,请确保您正在跟踪声明变量的整个路径。例如,如果您将变量声明为3个影片剪辑深度,则您的跟踪可能如下所示:
trace( mc1.mc2.mc3.myXmlLength );
请注意这是伪代码,实际上不会做任何事情,因为我不知道你的代码是如何设置的。
如果你想要一个真正的全局变量,可用于所有内容,请阅读this,或者在as3中查找单例,(一种有争议的但仍然有用的方法)。