无法解决为什么我的淡化脚本不起作用

时间:2017-04-21 21:58:59

标签: actionscript-3 actionscript

我遇到了一段我正在努力工作的代码...它意味着在淡化对象(swslogo)之前等待三秒钟,但是当我测试它时,似乎没有工作..任何人都知道为什么这可能是

    var GameMode:Number = 0;
    swslogo.alpha = .0;
    var IntroTimer = new Timer(4000,1); //add a 4 second timer
    IntroTimer.addEventListener(TimerEvent.TIMER_COMPLETE,swsfadein);
    intro();
    function intro(e:Event=null):void
    {
      IntroTimer.reset()
      IntroTimer.start();
    }
    function swsfadein(e:Event=null):void
    {
      IntroTimer.stop();
      swslogo.addEventListener(Event.ENTER_FRAME, fadein)
    }
      function fadein(e:Event=null){
        if(swslogo.alpha <=0){
          this.alpha +=0.1;
          if(swslogo.alpha >=1){
            this.removeEventListener(Event.ENTER_FRAME, fadein);
          }
        }
      }

编辑:删除了无意中出现的意外行

1 个答案:

答案 0 :(得分:1)

从你最后几个问题我可以告诉你完全需要了解一个程序是什么,一般来说,与任何其他给定语言的AS3无关,而不是像对待魔法一样对待随机的代码片段。

// This part is fine.
var IntroTimer = new Timer(4000,1); //add a 4 second timer
IntroTimer.addEventListener(TimerEvent.TIMER_COMPLETE,swsfadein);

// A method is called. It resets and restarts timer.
intro();

// Another method is called. It stops the times and starts the fading thing.
swsfadein ();

所以基本上这个代码只需一个:

  1. 创建计时器。
  2. 启动计时器。
  3. 停止计时器。
  4. 开始褪色。
  5. 这显然会抑制计时器的预期用途。