如何将变量传递到动作脚本2中的内联函数
问题描述:
我有以下功能,但似乎无法将myVar变量引入内联函数。我在这里做错了什么?我想要发生的是当我点击myMc时,它应该将myVar打印到控制台(“hello computer”)。如何将变量传递到动作脚本2中的内联函数
function doSomething():Void { myVar = "hello computer"; myMc.onRelease = function(){ trace(myVar); //prints as "undefined" } }
ps。 - 我无法将myVar声明为全局变量或静态变量,因为在真实代码中,我解析XML并且myVar不断变化。
答
这是一个范围问题 - 当您在as2中应用像这样的onRelease函数时,函数的作用域是应用该函数的MovieClip,而不是调用函数。
由于您使用的AS2和影片剪辑是动态的,您可以将变量分配给直接MC:
function doSomething():Void
{
myMc.myVar = "hello computer";
myMc.onRelease = function(){
trace(this.myVar);
}
}
答
尝试宣告myVar
与var
关键字:
var myVar = "hello computer";
谢谢!这很好。它非常直截了当,但AS对我来说非常新颖,所以这些都是很棒的小课程。 – justinl 2009-11-12 02:18:22
没问题。如果AS对你来说是新的,也许你应该从AS3开始:) – Reuben 2009-11-12 02:25:45