2012-06-05 48 views
0

誰能告訴我如何修改這個,這樣我就可以檢查一個數字是否在一個範圍內? 說例如0-10和11-20。我試過& &和其他東西,但不能得到任何有效的東西。 我想盡可能保持簡單。由於as3 if statment to check number range

stop(); 

value_enter.addEventListener(MouseEvent.CLICK, release1); 
function release1(evt:MouseEvent):void 
{ 
    if (Number(inputfield.text) > 0) 
    { 
     gotoAndStop(2); 
    } 
    else if (Number(inputfield.text) < 21) 
    { 
     gotoAndStop(3); 
    } 
} 

回答

0

我會用一個switch語句代替if語句多個else。
它通常更清晰,更易讀的代碼。
它還可以讓您輕鬆地添加更多的案例。

stop(); 

value_enter.addEventListener(MouseEvent.CLICK, release1); 
function release1(evt:MouseEvent):void 
{ 

switch(true){ 
    case (Number(inputfield.text) >=0 && Number(inputfield.text) <= 11): 
    gotoAndStop(2); 
    break; 
    case (Number(inputfield.text) >=10 && Number(inputfield.text) <= 21) : 
    gotoAndStop(3); 
    break; 
    default: 
    // inputfield.text value not in bounds 
} 
+0

Thanks as Man * chuckles *我會記住。 – STEK

2
//check the range 11-20 
if (myNum >= 11 && myNum <= 20) 
+0

啊謝謝strah我似乎得到它一起工作: 停止(); value_enter.addEventListener(MouseEvent.CLICK,release1);如果(Number(inputfield.text)> = 0 && Number(inputfield.text)<= 11) { gotoAndStop(2); 函數release1(evt:MouseEvent):void { } else if(Number(inputfield.text)> = 10 && Number(inputfield.text)<= 21) { gotoAndStop(3); } – STEK

1

我會寫一個函數......並只施放一次。

function inRange(leftBoundary:Number, value:Number, rightBoundary:Number):Boolean 
{ 
    return leftBoundary <= value && value <= rightBoundary; 
}