AS3离开并返回代码

时间:2013-08-14 09:23:57

标签: actionscript-3 flash

我想创建一个flash应用程序,它将在算法的每个步骤中演示如何更改变量(如调试)。算法是max-flow。我想要3个按钮:播放,暂停和下一步。

一般情况下,我需要以某种方式退出调用该函数的事件,检查是否有任何按钮被点击,并且在我离开时到达代码中的位置。

function flux():void
{
    var x,i,d,q:int;
    do
    {
        x = activ();
        for (i=1; i<=n; i++)
        {
            if (vert[i].stare == 0 && a[x][i] > 0 && e[x][i] < a[x][i])
            {
                d = a[x][i] - e[x][i];
                if (d<vert[x].flux)
                {
                    vert[i].flux = d;
                }
                else
                {
                    vert[i].flux = vert[x].flux;
                }

                vert[i].stare = 1;
                vert[i].sursa = x;
            }
        }
        for (i=1; i<=n; i++)
        {
            if (vert[i].stare == 0 && e[i][x] > 0)
            {

                d = e[i][x];
                if (d<vert[x].flux)
                {

                    vert[i].flux = d;
                }
                else
                {

                    vert[i].flux = vert[x].flux;
                }
                vert[i].stare = 1;
                vert[i].sursa =  -  x;

            }
        }
        vert[x].stare = 2;
    } while (vert[f].stare!=1 && activ()!=0);

    delt = 0;
    if (vert[f].stare == 1)
    {
        x = f;
        delt = vert[f].flux;
        do
        {
            q = abs(vert[x].sursa);
            if (vert[x].sursa < 0)
            {
                e[q][x] -=  delt;
            }
            if (vert[x].sursa > 0)
            {
                e[q][x] +=  delt;
            }
            x = q;
        } while (x!=st);
    }
}

起初我以为我会使用来自c ++的标签,但在AS3中它们仅用于循环。 THX。

2 个答案:

答案 0 :(得分:0)

不是真正的解决方案,但只要在调试播放器中运行调试模式,就可以运行System.pause()正在运行的应用程序。您可以在需要时暂停和恢复代码,并在此之前使用您想要的数据跟踪/显示文本字段。

答案 1 :(得分:0)

您可以为指令创建一个队列系统,并在逐个访问它们时暂停。这些指令也应该是子指令的队列实例。这些指令可能是函数,也可能是带有方法的对象。

查看 PureMVC 的命令系统,它可能就是您要找的。