PDA

Просмотр полной версии : Как ускорить переход к кадру


U4enik
23.07.2010, 13:05
Добрый день.
У меня в скрипте уже при загрузке флэшки прописаны переходы gotoAndStop к определенным кадрам в зависимости от условий.
Но почему-то переход происходит не моментально а заметны проскакивающие промежуточные кадры. Тоесть бегающая головка на таймлайне хоть и быстро он успевает при переходе показать другие ненужные кадры.

Размер флешки примерно 200 kb. Код около 2500 строк.

Как сделать так, чтобы переход происходил моментально? Чтобы НЕ показывались кадры которые между ними?

mooncar
23.07.2010, 13:13
gotoAndStop('нужный кадр');
либо стройте структуру сразу правильно, чтобы не было ненужных промежуточных кадров.
Или вообще откажитесь от проигрывания всего сразу на основном таймлайне, делайте переходы между кадрами, а в кадры вставляйте нужные мувики, которые и будут проигрываться.

U4enik
23.07.2010, 13:37
gotoAndStop('нужный кадр');
либо стройте структуру сразу правильно, чтобы не было ненужных промежуточных кадров.
Или вообще откажитесь от проигрывания всего сразу на основном таймлайне, делайте переходы между кадрами, а в кадры вставляйте нужные мувики, которые и будут проигрываться.

ВЫ неправильно поняли проблему.
Что значит "правильная структура"?
У меня есть 16 кадров, каждый кадр (фрейм) это другая картинка(другой этаж) и каждому кадру прилагается код в верхнем слое в первом кадре.

Так вот например мне надо чтобы когда пользователь на сайте нажал допустим на 10 этаж, то при загрузке флэшки сразу открывался нужный кадр (картинка 10-го этажа).
А сейчас видно как головка пробегает по всем кадрам.

Zik.
23.07.2010, 13:48
По-моему вам все правильно сказали

zurkis
23.07.2010, 13:56
U4enik тебе сказали все правильно, а то что не получается, значит что-то не так делаешь, и 2500 строк кода чтоб переходить от картинки к картинке - не увязочка

mooncar
23.07.2010, 14:10
Вот тут поподробнее:
"при загрузке флэшки прописаны переходы gotoAndStop к определенным кадрам в зависимости от условий."
Что значит, "при загрузке"? С помощью flashvars эти условия задаете?

U4enik
23.07.2010, 14:10
http://prama.kiev.ua/ru/kvartiry/sekcija_1.htm?etag=20&sec=1

Вот ссылка, мне просто требуется убрать эффект дребезжания из-за пробигания кадров.

Да, переменные загружаются с помощью flashvars

zurkis
23.07.2010, 14:14
тут может быть такое:
1. условие задано неверно
2. stop() в кадрах пока никто не отменял

mooncar
23.07.2010, 14:17
Не надо ничего "ускорять". У вас там при публикации используются flashvars:
flashvars="sec=1&etag=20&...
Вот и сделайте первый кадр пустым во флешке, чтобы ничего не промелькивало и запишите там код. Используйте полученные при публикации от flashvars значения, например, так:
switch (sec)
{
case '1':
switch (etag)
{
case '10':
gotoAndStop('fr_10');
break ;
case '11':
gotoAndStop('fr_11');
break ;
}
break ;
case '2':
switch (etag)
{
case '12':
gotoAndStop('fr_12');
break ;
case '13':
gotoAndStop('fr_13');
break ;
}
break ;
}

Это первое, что пришло в голову. Можно как-то по-другому разбирать, сами смотрите.
Функцию простую написать какую-то, назвав кадры опр. образом. Типа:
gotoAndStop('fr_s' + sec + '_e' + etag);

U4enik
23.07.2010, 14:39
тут может быть такое:
1. условие задано неверно
2. stop() в кадрах пока никто не отменял

Условие задано верно.

А вот stop(); в кадрах поподробнее пожалуйста

Добавлено через 45 минут
Пока проблема не решилась...

NoCD
23.07.2010, 15:58
в подгружаемой flash в первом кадре поставьте stop();

Tails
23.07.2010, 16:56
U4enik
"Само по себе" нечего непроисходит :)
пс. Поставь стоп в самом первом кадре.

U4enik
23.07.2010, 19:04
U4enik
"Само по себе" нечего непроисходит :)
пс. Поставь стоп в самом первом кадре.
Поставил, но теперь флешка тупо висит на первом кадре и никуда не перескакивает.:(

Добавлено через 30 минут
Получается что если stop поставить в начале кода, то код не выполняется, а если в конце, то stop не работает.