所以我创建了一个程序,它将在动态文本框中加载一些文本,称为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);
}
}
答案 0 :(得分: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
是唯一需要续订的内容。在更复杂的情况下,您可能需要进行大量重新分配,例如,如果您使用生命和分数制作游戏,请将生命设置为初始数量并将分数设置为零。但是你应该总是找到自己需要重新分配的东西。这只是原则。