![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2008
Адрес: Moscow
Сообщений: 3
|
Добрый день.
Проблема такая: есть внешний swf в виде картинок, меняющихся под голос диктора. Но в этом ролике всего 1 кадр и картинки меняются программно (с помощью setInterval). Подгружаю внешний ролик в основную флэшку с помощью loadMovie. Хочу организовать управление (плэй, пауза, перемотка). Но для него даже stop() не работает. Можно ли что-то придумать? Или его никак не остановишь / не перемотаешь? Последний раз редактировалось Artur Sh; 05.08.2008 в 17:50. |
|
|||||
|
Можно, но только для этого функция setInterval должна находиться в основном файле, я бы порекомендовал, вообще написать это в одном файле, и права управления выше и мобильность выше....
|
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Что значит писать в 1ом фаиле? У него каждый ролик это по сути MovieClip с альтернативной возможностью проигрывания анимации, реализованной в виде видимо перехода от одной картинке к другой с определенным интервалом... Конечно было бы лучше сразу реализовать в каждой свфке методы типо плей, стоп и тп т.е Сделать класс разширяющий муви клип. Но если уже нет возможности менять swf ки то можно тупо удалять интервал и заниматся веселым ооп в силе AS1
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Moscow
Сообщений: 3
|
Исходники swf есть. Но реализовано там так, что картинки png грузятся из библиотеки в определенные моменты времени, заданные в массиве, поверх некоторого бэкграунда, который тоже меняется со временем.
function fadeIn(){
clearInterval(fadeInInterval);
if (Select._alpha<90) {
Select._alpha+=10;
fadeInInterval = setInterval(this, "fadeIn",20);
}
}
function fadeOut(){
clearInterval(fadeOutInterval);
if (Select._alpha>5) {
Select._alpha-=10;
fadeOutInterval = setInterval(this, "fadeOut",20);
}
}
function executeCallback(param:String) {
Select.attachBitmap(BitmapData.loadBitmap(param), 0);
clearInterval(intervalId);
clearInterval(fadeOutInterval);
fadeIn();
if(count < maxCount) {
count++;
dur = duration[count]-duration[count-1];
fadeOutInterval = setInterval(this, "fadeOut", dur-220);
intervalId = setInterval(this, "executeCallback", dur, pics[count]);
}
}
if(intervalId != null) {
clearInterval(intervalId);
}
intervalId = setInterval(this, "executeCallback", duration[count], pics[count]);
массив pics - имена картинок функция executeCallback меняет картинку и перезапускает таймер fadeIn, fadeOut - функции плавного появления и исчезания В общем перейти к конкретной картинке и перевести звук на определенную позицию не тривиально. Думал проще будет управлять, если грузить эту "презентацию" в виде внешнего swf ролика, но обломался. Учитывая приведенный мною код, есть какие-нибудь советы, как лучше поступить? |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
CTRL+A, Delete, #import brain; Действительно я бы все переписал на твоем месте. Стоит получше продумать архитектуру... Но конкретных советов сейчас давать небуду).
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Moscow
Сообщений: 3
|
Набросай хотя бы в общих словах, как бы поступил в такой ситуации сам, пожалуйста.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|