我有以下函数,但我似乎无法将 myVar 变量放入内联函数中。我在这里做错了什么?我希望发生的是,当我单击 myMc 时,它应该将 myVar 打印到控制台(“你好计算机”)。
function doSomething():Void
{
myVar = "hello computer";
myMc.onRelease = function(){
trace(myVar); //prints as "undefined"
}
}
附注- 我无法将 myVar 声明为全局变量或静态变量,因为在实际代码中,我正在解析 XML 并且 myVar 不断变化。
这是一个范围问题 - 当您在 as2 中应用像这样的 onRelease 函数时,该函数的范围是您应用该函数的 MovieClip,而不是调用函数。
因为您使用的是 AS2 并且 MovieClip 是动态的,所以您可以直接将变量分配给 MC:
function doSomething():Void
{
myMc.myVar = "hello computer";
myMc.onRelease = function(){
trace(this.myVar);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)