试图在重定向到特定网页之前做一个时间延迟,我在编译过程中遇到了很多错误,对不起,动作脚本新手:
package
{
import flash.display.*;
import flash.net.*;
import flash.system.*;
import flash.utils.*;
import flash.events.*;
public class test extends flash.display.Sprite
{
public function test()
{
super();
flash.net.navigateToURL(new flash.net.URLRequest("http://youpassed-theexam.com/congrats"), "_self");
return;
}
}
setInterval(test,5000);
}
代码的几个问题:
-
一旦类实例。您应该创建一个单独的方法并调用它构造函数中的延迟。
-
setInterval
会在每个设定的间隔后反复触发。你应该使用setTimeout
. - 类应具有句子大写命名约定,因此请进行测试而不是测试。只是最佳实践。语法上没有错。
- 构造函数不返回任何内容,因此我们不需要
return
语句。 - 导入类后,无需编写类的全名即可访问其方法。
- 尽量避免基于 * 的导入语句。它确实倾向于导入比所需类更多的类。同样,这只是一个最佳实践。
因此,您的代码应如下所示:
package
{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.utils.setInterval;
import flash.utils.setTimeout;
public class Test extends flash.display.Sprite
{
public function Test()
{
super();
setTimeout(gotoURL, 5000);
}
protected function gotoURL():void
{
navigateToURL(new URLRequest("http://youpassed-theexam.com/congrats"), "_self");
}
}
}
希望这有帮助。干杯。