2016-01-18 57 views
0

我目前在Flash CS6中學習AS3中的程序(我沒有以前的編程經驗),現在我試圖將參數傳遞給參數來自UI中的文本框。將參數從UI中的文本框傳遞給參數(Flash,AS3)

這是我想出來的:

btnKnapp.addEventListener(MouseEvent.CLICK, skrivUt(int(txtInput.text))); 
function skrivUt(x:int) 
{ 
    for(var i:int=1; i<=5; i++) 
    { 
     var output:String = ""; 
     for(var j:int=0; j<x; j++) 
     { 
      output += String(i); 
     } 
     trace(output); 
     txtOutput.appendText(output + "\n"); 
     output = ""; 
    } 
} 

所以我想執行skrivUt功能,並利用寫在txtInput文本框中爲x參數,整數當我按下按鈕btnKnapp

回答

0

這是我用來傳遞參數給EventListener的一種方法。

btnKnapp.addEventListener(MouseEvent.CLICK, nextfuncWithParams(skrivUt, int(txtInput.text))); 

function nextfuncWithParams(nextfunc: Function, params: int): Function{ 
    return function(): void{ 
    nextfunc(params); 
    } 
} 

function skrivUt(x:int): void 
{ 
    // Your logic 
} 

如果要傳遞多個參數,請使用下面的Object類型。

var obj: Object = new Object(); 
obj.param1 = "Some String param"; 
obj.param2 = 123; 
obj.param3 = false; 
btnKnapp.addEventListener(MouseEvent.CLICK, nextfuncWithParams(skrivUt, obj)); 

function nextfuncWithParams(nextfunc: Function, params: Object): Function{ 
    return function(): void{ 
    nextfunc(params); 
    } 
} 

function skrivUt(params: Object): void 
{ 
    trace(params.param1); 
    trace(params.param2); 
    trace(params.param3); 
} 
0

下面的代碼一定會努力

btnKnapp.addEventListener(MouseEvent.CLICK, skrivUt); 
function skrivUt(e:MouseEvent) 
{ 
    var x:int = int(txtInput.text); 
    for(var i:int=1; i<=5; i++) 
    { 
     var output:String = ""; 
     for(var j:int=0; j<x; j++) 
     { 
      output += String(i); 
     } 
     trace(output); 
     txtOutput.appendText(output + "\n"); 
     output = ""; 
    } 
}