2010-03-22 9 views
1

Comment puis-je appeler une fonction à partir d'une variable.Fonction d'appel ActionScript 2 à partir de la variable

var upfunction = init; 
//or 
var upfunction = init(); 

J'ai essayé le code ci-dessus et cela ne fonctionne pas. Je veux être capable d'appeler cette variable à partir d'une touche et de changer la fonction des variables. Par exemple.

function init(){ 
    //Do whatever 
} 

function init2(){ 
    //Do another thing 
} 

var upfunction = init(); 
if (Key.getCode() == Key.UP) 
{ 
    upfunction; 
} 

Puis faire plus tard

upfunction = init2(); 

De cette façon, je pourrais changer la fonction sans avoir beaucoup de code. Désolé si c'est une question noob mais tout ce que je fais est copier et coller le code que j'ai trouvé.

Répondre

1

Vous avez presque raison avec ce que vous avez ... rappelez-vous juste que appelez une fonction dont vous avez besoin pour inclure les crochets après: 'upFuntion();'. Des crochets sont également nécessaires lors de la définition de la fonction. Les crochets contiendront tous les paramètres de fonction. Mais pour faire référence à la fonction (comme lors de l'affectation à une variable), n'utilisez pas les parenthèses: 'upFunction = init;'

Ainsi, votre exemple ressemblerait à ceci:

function init1():Void { 
    trace("hello this is init1"); 
} 

function init2():Void { 
    trace("hey, this is init2"); 
} 

var upFunction:Function = init1;//type declaration is optional but recommended 

upFunction();// hello this is init1 

upFunction = init2; 

upFunction();//hey, this is init2 
Questions connexes