0

所以我做了一个程序,它将在一个动态文本框中加载一些文本,称为 text_Box。然后我还做了一个叫做reset_btn的按钮。我不确定如何编写代码,但我希望用户能够单击按钮,动态 text_Box 将重置,并再次运行他们的代码(以获取他们的文本)。基本上我想关闭程序,而不是真正关闭它哈哈。因此,单击按钮即可重新运行所有操作和代码。或者有些人可能称之为“刷新”应用程序。有人可以帮我吗?提前致谢!

var ldr:URLLoader = new URLLoader();
ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus);

var url:String = "http://google.com";
var limit:int = 10;

var time_start:Number;
var time_stop:Number;
var times:int;

ping();

function ping():void
{
    trace("pinging", url);

    times = 0;
    doThePing();
}

function doThePing():void
{
    time_start = getTimer();
    ldr.load(new URLRequest(url));
}

function ldrStatus(evt:*):void
{
    if(evt.status == 200)
    {
        time_stop = getTimer();
        textBox.text = String(time_stop - time_start);


    }


}
4

1 回答 1

1

您需要进行正确的重新初始化。首先,您已经将静态代码与函数和类范围的变量与 pre-init 混淆了,因此在没有初始化的情况下声明这些变量,并newPing()使用以下代码创建一个函数,并在需要时调用它。

function newPing():void {
    ldr=new URLLoader();
    ldr.addEventListener(HTTPStatusEvent.HTTP_STATUS, ldrStatus);
    times++; // this will also track how many pings were there
    doThePing();
}

您已经完成了其余的变量初始化,不需要重新初始化它们。你ldr是唯一应该更新的东西。在更复杂的情况下,您可能需要进行大量重新分配,例如,如果您制作了一个有生命和得分的游戏,请将生命设置为初始数量并将得分设置为零。但是您应该始终自己找到需要重新分配的内容。这只是原则。

于 2013-08-16T16:29:22.260 回答