Condicionais

O ActionScript 3.0 fornece três instruções condicionais básicas que você pode usar para controlar o fluxo de programa.

if..else

A instrução condicional if..else permitirá testar uma condição e executar um bloco de código se essa condição existir ou executar um bloco de código alternativo se ela não existir. Por exemplo, o seguinte código testa se o valor x excede 20, gera uma função trace() em caso afirmativo ou gera uma função trace() diferente em caso negativo:

if (x > 20) 
{ 
    trace("x is > 20"); 
} 
else 
{ 
    trace("x is <= 20"); 
}

Se não quiser executar um bloco de código alternativo, você poderá usar a instrução if sem a instrução else.

if..else if

É possível testar mais de uma condição usando a instrução condicional if..else if. Por exemplo, o código a seguir não apenas testa se o valor x excede 20, mas também se o valor x é negativo:

if (x > 20) 
{ 
    trace("x is > 20"); 
} 
else if (x < 0) 
{ 
    trace("x is negative"); 
}

Se uma instrução if ou else for seguida de apenas uma instrução, a instrução não precisa ficar entre chaves. Por exemplo, o código a seguir não usa chaves:

if (x > 0) 
    trace("x is positive"); 
else if (x < 0)  
    trace("x is negative"); 
else 
    trace("x is 0");

Entretanto, a Adobe recomenda que você use chaves, porque poderá ocorrer um comportamento inesperado se instruções forem adicionadas posteriormente a uma instrução condicional sem chaves. Por exemplo, no código a seguir, o valor positiveNums é aumentado em 1 quer a condição seja ou não avaliada como true:

var x:int; 
var positiveNums:int = 0; 
 
if (x > 0) 
    trace("x is positive"); 
    positiveNums++; 
 
trace(positiveNums); // 1

switch

A instrução switch será útil se você tiver vários caminhos de execução que dependam da mesma expressão de condição. Ela fornece uma funcionalidade semelhante a uma longa série de instruções if..else if, mas é mais fácil de ler. Em vez de testar uma condição quanto a um valor booleano, a instrução switch avalia uma expressão e usa o resultado para determinar qual bloco de código será executado. Os blocos de código começam com uma instrução case e terminam com uma instrução break. Por exemplo, a seguinte instrução switch imprime o dia da semana, com base no número de dias retornado pelo método Date.getDay():

var someDate:Date = new Date(); 
var dayNum:uint = someDate.getDay(); 
switch(dayNum) 
{ 
    case 0: 
        trace("Sunday"); 
        break; 
    case 1: 
        trace("Monday"); 
        break; 
    case 2: 
        trace("Tuesday"); 
        break; 
    case 3: 
        trace("Wednesday"); 
        break; 
    case 4: 
        trace("Thursday"); 
        break; 
    case 5: 
        trace("Friday"); 
        break; 
    case 6: 
        trace("Saturday"); 
        break; 
    default: 
        trace("Out of range"); 
        break; 
}