if if语句的AS3当前场景名称?

时间:2012-05-17 11:55:25

标签: actionscript-3 flash flash-cs5.5

我正在构建一个快速Flash演示文稿,使用向上和向下箭头导航,但需要使用当前场景的名称创建if else语句。

我有10个名为01 - 10的场景,但是7到10只能通过隐藏按钮访问,需要找到一种方法来循环使用场景名称从01-06开始导航,例如:

if scene name = 04 {
   go to nextScene();
} else if scene name = 05 {
   go to nextScene();
} else if scene name = 06 {
   go to scene 02
}

我所有的工作都与if else声明分开,因为它使用向上箭头进入下一个场景,但是当我需要转到6然后重新开始时,它会持续到10。

任何帮助都会很棒?

谢谢,

托马斯。

2 个答案:

答案 0 :(得分:0)

创建一些函数,一个用于键处理程序,另一个用于隐藏按钮,如:

function standardScenes(sceneName)
    {
        switch(sceneName)
        {
            case 01:
                gotoAndPlay(sceneName);
            break;

            case 02:
                gotoAndPlay(sceneName);
            break;

            case 03:
                gotoAndPlay(sceneName);
            break;

            case 04:
                gotoAndPlay(sceneName);
            break;

            case 05:
                gotoAndPlay(sceneName);
            break;

            case 06:
                gotoAndPlay(sceneName);
            break;
        }
    }

    function hiddenScenes(sceneName)
    {
        switch(sceneName)
        {
            case 07:
                gotoAndPlay(sceneName);
            break;

            case 08:
                gotoAndPlay(sceneName);
            break;

            case 09:
                gotoAndPlay(sceneName);
            break;

            case 10:
                gotoAndPlay(sceneName);
            break;
        }
    }

答案 1 :(得分:0)

您可以使用此代码..

stop();
import flash.events.Event;
var no:Number = 0;

btn_up.addEventListener(MouseEvent.CLICK, up);
function up(e:MouseEvent){
no = no + 1;
getScene(no);
}

btn_down.addEventListener(MouseEvent.CLICK, down);
function down(e:MouseEvent){
no = no - 1;
getScene(no);
}
function getScene(num:Number){
    if(no <= 0){
        no = 0;
    }
    if(no == 1){
        gotoAndStop(1,"Scene " + no);
    }
    if(no == 2){
        gotoAndStop(1,"Scene " + no);
    }
    //continue here...
}