我想创建一个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。
答案 0 :(得分:0)
不是真正的解决方案,但只要在调试播放器中运行调试模式,就可以运行System.pause()正在运行的应用程序。您可以在需要时暂停和恢复代码,并在此之前使用您想要的数据跟踪/显示文本字段。
答案 1 :(得分:0)
您可以为指令创建一个队列系统,并在逐个访问它们时暂停。这些指令也应该是子指令的队列实例。这些指令可能是函数,也可能是带有方法的对象。
查看 PureMVC 的命令系统,它可能就是您要找的。 p>