setTimeout в Actionscript 2 - PullRequest
       25

setTimeout в Actionscript 2

0 голосов
/ 17 апреля 2011

Я использую это

var timer2 = setTimeout(checkValue2, 2000);

как действие кадра в Кадре 2, которое затем запускает checkValue2, который является частью функции в Кадре 1, где все _global.переменные тоже.

clearTimeout(timer2);
gotoAndStop(3);     //goto lvl3 - throw
addStage3();

, поэтому он затем переходит к кадру 3, но проблема в том, что даже после очистки анимация кадра по-прежнему повторяется каждые 2 секунды, независимо от того, использую ли я setTimeout или setInterval,Может быть, вы знаете какой-либо другой способ, где мне нужно, что после 2 секунд в кадре 2 он затем переместится в кадр 3, и я пока не хочу, чтобы он куда-то направлялся.

что-то здесь не так: (

1 Ответ

0 голосов
/ 17 апреля 2011

Вам вообще не нужно использовать clearTimeout (), потому что setTimeout () выполняет функцию только один раз . Вы уверены, что остановили анимацию после вызова setTimeout во втором кадре?

EDIT

Ваш фильм, вероятно, зацикливается на более позднем этапе, так что frame2 выполняется снова и снова. Чтобы найти причину проблемы, сделайте следующее:

  1. Добавьте прослушиватель событий в кадр 1 основной временной шкалы:

    onEnterFrame = function () : Void { 
            trace ("current: " + _currentFrame) 
        }
    
  2. Запустите вашу программу и проверьте вывод трассировки: В какой момент происходит цикл?

  3. Если цикл всегда происходит в одном и том же кадре: проверьте содержимое этого кадра и посмотрите, есть ли в нем gotoAndPlay () или play (). Кроме того, еще раз проверьте, что ваши вызовы stop () не вложены в объявления функций или как-то недостижимы (например, в операторах if / else, которые никогда не выполняются, или после некоторого другого кода, который остановит сценарий или перейдет к другому кадру).

  4. Если цикл происходит хаотично: посмотрите, есть ли у вас ActionScript, который выполняется случайным образом или через определенные промежутки времени. Кстати: вы можете использовать окно MovieExplorer, чтобы найти все AS в вашем FLA.

...