Вход

Просмотр полной версии : Подгрузка при прелоадинге. Сложно ли сделать такой финт (см. внутри) ?(+)


stas35
18.12.2002, 12:30
Стоит на тексте вот такой прелоадер (см. внизу). который просто показывает проценты загрузки. Параллельно загрузке подгружается SWF-чик с музыкой (где-то на 2-5% она уже начинает звучать - так все-таки веселее ждать пока 250 кБайт загрузятся). Как сделать так, чтоб на 60-70% загрузки музычка начинала потухать в громкости?
Сам swf музыкальный зациклен и начинает-то играть с прибавлением в громкости, а вот когда загрузка заканчивается - он резко обрывается. Дело в том, что во втором фрейме подгружается другой swf с музыкой. Получается резкий обрыв первой и плавное начало второй. А хочется, чтоб первая плавно ушла , и вторая плавно пришла (что и так работает).
Насколько разрешима моя задача? Или же не заморачиваться с музыкой и пускать первый swf и на следующий фрейм, а там не подгружать второй, а поставить кнопки с выбором нескольких альтернатив.
Но все-таки хотелось бы узнать сложно-ли где-то в прелоадере прописать, что файл music.swf на 70% загрузки 2 фрейма должен начинать уходить на нет (fade out). Точно все равно не угадать, но думаю, что примерно так и получится. А при переходе на второй фрейм можно "динг" вставить и после него уже будет грузиться музыка для 2 фрейма. По крайней мере станет ясно, что все загрузилось.
А может подскажете более рациональное решение?
Сам я начинающий, потому всех тонкостей еще не прорубаю :(
Надеюсь на вашу помощь.
Заранее благодарю.
Стас


onClipEvent (load) {
tot = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
loaded = _root.getBytesLoaded();
percent = loaded/tot*100;
text=Math.floor(percent);
text=text+"%"
if(loaded==tot){_root.gotoAndPlay(2)}
}

AnGL
18.12.2002, 13:15
Итак.

Решение, я думаю, есть. Прежде всего лучше подгружать не SWF-ки, а непосредственно звук (mp3). Так как у нас две музыкальные композиции, создаем два разных объекта Sound и...

Загружаем первый до 60%. Он проигрывается в режиме stream. После 60% подключаем загрузку второго. Как только полностью загрузился первый, понижаем ему volume и, по событию onSoundComplete, запускаем второй с повышением volume.

А. :cool:

stas35
18.12.2002, 13:57
.

Nirth
23.12.2002, 12:29
в прелоадинге напиши.
if (напиши число загруженных байт соответствующих 60 % == загруженным байтам) {
а тут с помощью объекта звук занижаем его (например -= 1)
}
=) а если более полное описание нужно...то это тебе исходник нужно прислать.

AnGL
23.12.2002, 13:20
stas35

Попробуй сам код написать, полезно для самообучения ;)
На вопрос тебе ответили, осталось только все свести к синтаксису AS. Дерзай. :)

A. :cool: