Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: debug и setInterval
Flash Zone Forum > Macromedia Flash > Начинающим
digiman
Я, не имея опыта debug во флэше, столкнулся со следующей проблемой:

в 12 кадре следующий код:
Код

stop();
if (_global.flag != "1")
{id = setInterval(function ()
{clearInterval(id);     gotoAndPlay(17);}, 3000);}

тут я думаю все понятно.

в 17-м кадре есть symbol (в нем видеоплеер, он автоматически начинает проигрывание).
В символе в плеере прописано следующее:
Код

on (complete)
{
_global.flag = "1";
_root.gotoAndPlay(12);
}


но в 12м кадре есть еще кнопка
Код

on (release )
{_global.flag="0";
gotoAndPlay(17);
}


тоесть по идее:
1.если нажали эту кнопку, то сразу должен играться 17й кадр (а в нем видео).

2. если кнопка не нажималась то срабатывает таймер и переход на 17й кадр, по окончанию видео открывается 12й кадр, в котором по flag-у не срабатывает таймер обратно к видео))))) запутано, да

а ошибка в том, что если нажать эту кнопку, то через раз открывается 18й! кадр.

Полчаса думаю над этим, уже пробывал бряки ставить, ничего не выходит!
вывод - нужна помощь логически мыслящих людей. Хочу понять какая функция может врубать 18 кадр
nikitar
Код

on (release )
{_global.flag="0";
gotoAndPlay(17);
}

Вместо gotoAndPlay(17);
Поставь
Код

gotoAndStop(17);
digiman
Цитата(nikitar @ 18.12.2006 - 18:55) *

Код

on (release )
{_global.flag="0";
gotoAndPlay(17);
}

Вместо gotoAndPlay(17);
Поставь
Код

gotoAndStop(17);


А разве это будет иметь значение, если в кадре 17 написано stop()?
MustLive
Цитата
А разве это будет иметь значение, если в кадре 17 написано stop()?

digiman, оно не будет иметь значения если в кадре стоит стоп. Но так как ты об этом в посте выше не указал, вот и nikitar порекомендовал тебе данный вариант.

Ну а с алгоритмом у тебя напутано, потому обудамай и переделай его, создай более оптимальный и более логичный алгоритм, тогда и таких проблем не будет (что переглючивает флешку).

Ну и с setInterval нужно быть аккуратным, чтобы всё работало корректно. И не возникало каких-либо глюков (как в твоём случае). И на 18 кадр там непонятно откуда переходит, из приведённого кода не видно - может ещё что-то влияет. Так что это или ошибка алгоритма или глюк.
digiman
Спасибо, действительно нужно было юзать gotoAndStop
Цитата(MustLive @ 19.12.2006 - 01:33) *
digiman, оно не будет иметь значения если в кадре стоит стоп.
Видимо в моем случае что-то пошло не так и это не срабатывало как надо.. Не знаю.

Цитата
Ну а с алгоритмом у тебя напутано, потому обудамай и переделай его, создай более оптимальный ..
С алгоритмом не напутано, просто он хитрый biggrin.gif

Цитата
Ну и с setInterval нужно быть аккуратным, чтобы всё работало корректно.
Насколько я понял основная задача правильного программирования setInterval - это не забывать их подчищать когда нужно.

В общем всем спасибо, но как грится не все свободны..)) я тут наплодил уже топиков новых, жду ответов)
Русская версия IP.Board © 2001-2007 IPS, Inc.