Actionscript委托函数故障...(myFunction).toString()打印函数Function(){}

时间:2010-11-01 20:19:49

标签: flash actionscript-3 delegates anonymous-function

我有一个ViewToActionMap对象的Vector,它有以下构造函数:

public function ViewToActionMap(_forModule:eModule, 
                                _forAction:eViewAction,
                                _toFunction:Function,
                                _withArgs:Array=null):void{         
            forModule   = _forModule;
            forAction   = _forAction;
            toFunction  = _toFunction;
            withArgs    = _withArgs;
        }

eModule / eViewAction / withArgs与我的帖子无关)

所以我的矢量看起来像这样(为了简洁,我只包括它的第一个对象..):

const actionMappings:Vector.<ViewToActionMap> = new <ViewToActionMap>
               [new ViewToActionMap(eModule.WELCOME,    
                eViewAction.GP_CONTINUE_BUTTON,     
                startGame,  //<--- the source of my troubles!
                null)
               ]

startGame是一个简单的函数:

function startGame():void{  }

///////////////所以这就是问题//////////////

如果我遍历actionMappings [0]的属性,这里是输出:

gpContinueButton
welcome
function Function() {}    //<---------- why isn't this working?
null

为什么.toFunction的值为空函数,而不是对startGame()的引用????

谢谢!

1 个答案:

答案 0 :(得分:1)

解决了它:

似乎跟踪".toFunction"的值只会产生这样的结果:function Function() {}

一旦我修复了一个无关的bug,我就能成功调用startGame()。