Flash 将变量作为引用传递给函数
我很难将变量作为引用传递给函数。下面是我的代码的一部分,它是麻烦制造者:Flash 将变量作为引用传递给函数,flash,actionscript,reference,actionscript-2,Flash,Actionscript,Reference,Actionscript 2,我很难将变量作为引用传递给函数。下面是我的代码的一部分,它是麻烦制造者: onMouseDown = function ():Void { mouseListener(openCategory, [control[current]]); }; function mouseListener(callback:Function, callbackParams:Array):Void { for (var index in categories) { var
onMouseDown = function ():Void
{
mouseListener(openCategory, [control[current]]);
};
function mouseListener(callback:Function, callbackParams:Array):Void
{
for (var index in categories)
{
var category:MovieClip = categories[index];
if (category.hitTest(root._xmouse, root._ymouse))
{
control[current] = category;
callback.apply(null, callbackParams);
}
}
}
现在我想做的是,存储在callback
中的函数接收对control[current]
的引用,或者至少是它的最新值。实际发生的是control[current]
的值被传递给mouseListener
如何使此功能正常工作?AS中的原语从不通过引用传递,您需要将其装箱为复杂类型并传递装箱值-这些值始终通过引用传递。在您的情况下,传递整个
控件
,不管它是什么,然后在回调中读取控件[当前]