2010-11-01 25 views
0

J'ai un vecteur de ViewToActionMap objets qui ont constructeur suivants:Actionscript ennuis fonction délégué ... (maFonction) .toString() imprime la fonction function() {}

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

(eModule/eViewAction/withArgs ne sont pas pertinentes à mon poste)

donc, mon vecteur ressemble à ceci (par souci de concision, je ne l'ai inclus son premier objet ..):

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

startGame est une fonction simple:

function startGame():void{ } 

/////////////// Voici donc le problème //////////////

si la boucle I sur les propriétés d'actionMappings [0], voici la sortie:

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

Pourquoi est la valeur d'une fonction .toFunction vide, au lieu d'une référence à startGame() ????

Merci!

+1

Est-ce que startGame contient des lignes logiques? Je m'excuse si vous les avez omis à titre d'exemple seulement. –

+0

non, pas encore: 'function startGame(): void {trace (" appelle moi! ")}; ';) –

+0

haha, je ne ai pas coller ce droit ("; "à la fin) ... je pense que cela causerait une erreur de compilation. : P –

Répondre

1

a résolu le problème:

il semble que le suivi de la valeur des ".toFunction" cède simplement ceci: function Function() {}

Une fois que je fixe un bug sans rapport, j'ai pu appeler startGame() avec succès.