![]() |
Загрузка клипов разной длины
Здравствуйте.
Первый раз на этом форуме, очень надеюсь на помощь. Итак, задача. В родительский клип подгружаются несколько баннеров. Количество заранее не известно. После загрузки они крутятся в цикле. Баннеры могут быть как картинками, так и swf-ками. Собственно, проблема: каждый загруженый банер должен показываться весть свой цикл (если он анимирован), +10 секунд. Как определить, что загруженый баннер проигрался до конца? Баннеры могут быть любой сложности, так что просто считать кадры - не прокатит. Сам уже, кажется, все перепробовал. Помогите, пожалуйста!!! PS: решение сгодится любыми средствами. Не только Flash, но и Perl, PHP, JS... Да хоть Basic, лишь бы работало! |
А баннеры твои или нет?
То есть ты имеешь доступ к их редактированию или нет? Если да, то тогда только как теория можно сделать так. Каждый баннер в основной ролик передаёт параметр, что типа он начал проигрываться и параметр в конце ролика, что он закончил проигрываться и останавливается, с этого времени отсчитывается 10 секунд за которые грузится следующий баннер. Чтобы узнать количество баннеров - это другими средствами, не флэшом, также чтобы отличить картинку от ролика, через скрипт передаётся определённый параметр. |
Нет, баннеры не мои, в том и проблема. Узнать количество баннеров и отличить их от картинки - не проблема. Это я сделал. А вот как узнать, что загруженный баннер докрутился - черт его знает. Если бы была простая анимация - можно было бы через totalframes узнать количество кадров, а потом в onEnterFrames проверять. Но если в баннерах Action - это не прокатит. Есть еще какие-то варианты?
|
Только ручками. Сначала просматривать баннер, потом при загрузке передавать параметр указывающий условное количество кадров.
В целом подход не верен. Вы должны разработать требования, и предоставляемые баннеры должны им соответствовать. |
Есть ещё один вариант, но не знаю насколько он подойдёт. Обычно баннеры имеют не менее 2-х кадров. Хотя не факт, но всё равно можно проверять когда баннер снова перейдёт на первый кадр, и между этими переходами установить время для каждого конкретного баннера. То есть это будет время его проигрывания. Затем это всё дело можно в массив переделать. Чтобы этот переход был не так заметен (что баннер начал заново проигрываться, а ты его резко оборвал и загружаешь следующий) сделай затухание по альфе.
|
Цитата:
|
Ну вот я и говорю, что не факт :)
|
Спасибо всем за ответы. Если честно, даже не ожидал, что так сразу отклик будет.
В том и проблема, что баннеры однокадровые зачастую. Что подход неверный - может быть, но это не обсуждается. Клиент всегда прав. А он хочет полную независимость от того, что там человек грузит у себя в аккаунте. Надо, чтобы работало. В принципе, есть вариант. По корявости превосходит все, что я до сих пор делал :). Смысл - дать человеку после загрузки быннера самому указать, сколько он должен быть виден на экране. Но это из рук вон плохо. Хочется, чтобы от юзверя минимум требовалось. Типа, залил и из сердца вон. Кстати, а если упростить немного и предположить, что все баннеры не зацикленые, а проигрываются 1 раз и останавливаются? Но тоже - либо кадрики меняются, либо экшеном что-то делается. Можно ли как-то отследить конец? |
Цитата:
Цитата:
|
В данном случае, клиент - мой шеф на основной работе. Так что много ему не докажешь...
И это, пожалуй, единственное допустимое ограничение. Что ж, видимо, придется остановиться на варианте с ручным указанием времени. Изврат, конечно, но можно пропихнуть как возможность задать для баннера проигрывание нужное количество раз :). Если появятся у кого-нибудь новые мысли на эту тему - буду очень благодарен. Спасибо за помощь. |
Ну покажи ему данный топик, если он тебе не верит на слово :) От того что он хочет, ничего не изменится. Эта задача сродни перевода swf в avi. Если не делать swf с учетом перевода (программно что-нибудь), то ничего не получится.
|
Интересное решение :).
Ладно, в принципе, имеющийся вариант, вроде устроил. У меня еще вопрос. Я гружу несколько баннеров, а потом в цикле кручу их с разными эффектами. Пкрвый раз бвннеры грузятся из вне, а потом просто "тасую колоду". То есть через swapDepths вытаскиваю по очереди баннеры на верх стопки. Есть ли, реально, необходимость так делать, или можно просто в цикле их каждый раз грузить заново, положившись на кеш браузера? Или, может, у плеера свой кеш имеется? Это бы сильно упростило код. |
2 великий iNils!
Я чета не догоняю, почему нельзя в данном случае юзать _totalframes и _currentframe - где нибудь в MovieClip.prototype.onLoad? |
1 кадр в ролике, сколько у него _totalframes ?
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 16:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.