actionscript 3.0 高手进来

来源:百度知道 编辑:UC知道 时间:2024/06/11 11:52:37
var m:int;
var n:int=0;
for (var t:int=2; t<=400; t++) {
for (var i:int=1; i<=t; i++) {
m=t%i;

if (m==0) {
n++;
}
}

if (n==2) {
trace(t);

}
n=0;
}

比如说这一段代码.
我想再做个按钮.
当我打开按钮,程序开始计算并输出,
我关闭开关,程序就暂停了.

如果你只是想做个开关,控制它的开始的话,把它做成一个函数,用按钮来让他执行。如下:
var m:int;
var n:int=0;
function initApp():void{
for (var t:int=2; t<=400; t++) {
for (var i:int=1; i<=t; i++) {
m=t%i;

if (m==0) {
n++;
}
}

if (n==2) {
trace(t);

}
n=0;
}
}

_btn.addEventListener(MouseEvent.CLICK,btnHandler);//需要你在场景中建立一个按钮并命名为_btn;
function btnHandler(e:MouseEvent):void
{
initApp();
}
如果你想做个按钮,点击后暂停循环,再点击接着上次的位置来运行的话,不好实现,小弟不才。抱歉。
循环一旦进入就要执行完才能干别的,比如你设置成40000000,则场景中即使有按钮的话,在他的执行过程中,FlashPlayer处于一个类似于无响应状态,按钮是没效果的。
你可以把部分代码分离出去,让它执行几次循环暂停几秒,再继续,没准在这暂停的时间内你可以实现控制。