切换到另一个开关动作脚本3

时间:2012-11-26 15:19:25

标签: actionscript-3 flash

我有这么长的代码行,我想知道这些代码是否可以从这个转换

if(BtnInteracted == "New"){
        if(sample_1.SaveSlotNumber == "1"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "2"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "3"){
            if(){

            }
            else{

            }
        }
    }


    else if (BtnInteracted == "Con"){
        if(sample_1.SaveSlotNumber == "1"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "2"){
            if(){

            }
            else{

            }
        }
        else if(sample_1.SaveSlotNumber == "3"){
            if(){

            }
            else{

            }
        }
    }

到此。

switch(BtnInteracted){
    case "New": switch (sample_1.SaveSlotNumber){
                    case "1": //if() else() statement;
                    case "2": //if() else() statement;
                    case "3": //if() else() statement;
                } break;

    case "Con": switch (sample_1.SaveSlotNumber){
                    case "1": //if() else() statement;
                    case "2": //if() else() statement;
                    case "3": //if() else() statement;
                } break;
}

是否可以制作此代码或我的原始代码是我唯一的选择? 谢谢你的回复!

1 个答案:

答案 0 :(得分:3)

您必须小心break语句,但它会起作用。你可以嵌套交换机,但我个人认为内部交换机不易读取;我更喜欢把东西传递给函数:

switch(BtnInteracted)
{
    case "New": 
    {
       startFrom(sample_1.SaveSlotNumber);
       break;
    }
    case "Con": 
    {
       continueFrom(sample_1.SaveSlotNumber);
       break;
    }
}

然后在按钮中使用新开关

function startFrom(index:int):void
{
  trace("start from ", index);
  switch(index)
  {
    case 1: 
    {
       // do something
       break;
    }
    case 2: 
    {
       // do something
       break;
    }
  }
}

function continueFrom(index:int):void
{
  trace("continue from", index);
  switch(index)
  {
    case 1: 
    {
       // do something
       break;
    }
    case 2: 
    {
       // do something
       break;
    }
  }
}

在很多情况下,你需要多次使用该功能和其他输入,所以你不必重复自己,并清楚地了解特定案例会发生什么。