Actionscript3设置时间延迟

Actionscript3 setting time delay

试图在重定向到特定网页之前进行时间延迟,我在编译过程中遇到了很多错误,抱歉 actionscript 新手:

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);


}

您的代码有几个问题:

  1. 一旦 class 被立即调用 classes 的构造函数 实例化。您应该创建一个单独的方法并使用 构造函数中的延迟。

  2. setInterval 会在每个设置的时间间隔后重复触发。你 应该使用 setTimeout.

  3. 类 应该有一个 Sentence caps 命名约定,所以 Test 和 not test。只是一个最佳实践。语法上没有错。
  4. 构造函数不return任何东西,所以我们不需要return语句。
  5. 导入 class 后,无需输入 class 的全名即可访问其方法。
  6. 尽量避免基于 * 的导入语句。它确实倾向于导入比必需的 class 更多的 classes。同样,这只是一个最佳实践。

因此您的代码应如下所示:

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");
        }
    }
}

希望这对您有所帮助。干杯。