Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   параллельный прелоад данных разных типов (http://www.flasher.ru/forum/showthread.php?t=110236)

priroda 30.03.2008 01:33

параллельный прелоад данных разных типов
 
Скажите пожалуйста. Я хочу сделать прелоадер на музыку а ниже на данные.
Процес идет паралельно.
Я умею загружать movieClipLoader'ом данные и музыку. Но использовать это одновременно я не знаю как. У меня есть скрипт и копировать его в слой 1 и в 2 для данных и для музыки - идиотизм помоему. пусть так - но ведь не работает так
скажите как сделать не по идиотски
ничего уже не получается

Molecula 30.03.2008 03:22

Так для музыки у нас есть класс Sound и его методы getBytesLoaded и getBytesTotal - их и используйте.

А данные какого рода Вы подгружаете?

priroda 30.03.2008 17:09

Вложений: 2
под днанными я имела ввиду сам флэш(swf) или *.jpg (сейчас не принципиально)


посмотрите пожалуйста.
работает только когда в самом исходнике нажимаешь ctrl+enter два раза.
нужно чтоб музыка заиграла и показалась картинка только тогда когда эти два файла окончательно загрузятся.
я попыталась при ранней загрузке картинки - сделать её прозрачной, а когджа загрузится всё, отобразить её на альфа0. но это кажется какой то урывистый способ(тем более работает при двойном ctrl+enter). подправьте меня пожалуйста
3003.rar

priroda 31.03.2008 19:43

для меня это очень важно. помогите пожалуйста. всё не так сложно как описано. нужно только исходник посмотреть. а это я думаю многим бы пригодилось. или это уже все умеют?)
а если серьёзно. очень расчитываю на Вас.

архив 3003.rar
PS. iNils простите что создала новое сообщ. Просто новое - оно лучше воспринимается. Может кто-то и откликнется

ra26info 31.03.2008 22:31

истина рядом
 
:) http://www.flasher.ru/forum/showpost...2&postcount=11

Цитата:

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

В том скрипте, что находится по ссылке выше, реализовать это не сложно...

Вот пример )) http://www.26info.ru/studio26/gallery.swf
А тут все идет своим чередом )) http://www.26info.ru/studio26/Content_scroller.swf

priroda 31.03.2008 23:22

Спасибо что откликнулись. Я посмотрела на код. Но помоему там swf и jpg. а хотелось бы чтоб mp3 и swf/jpg - ведь это совершенно другое помоему). там надо специально как то обращаться к муз. файлу. ну т.е. не как то. как я знаю. а вот как правильно к swf и mp3 не знаю

хотя я думаю если там чтото изменить( совсем чуть-чуть) ) - будет как надо. сейчас попробую

**
не то это всё.
то что вы мне предложили - такой пример даже на форуме есть и ничего там менять даже не надо. меня интересует конкретный вопрос. SWF и MP3 - загрузка поочередно в одном прелоадере(нормальный код). код ненормальный - я выложила.

ну посмотрите в архив, ведь он не так много весит. нужно чтоб с Моим файлом поработали, хотя бы посмотрели и поняли на какой стадии находится работа.
а такие аналогии за 100 км мне очень сложно проводить.

я очень ценю все ваши попытки, и хотела бы чтоб к моим просьбам тоже прислушивались.

ra26info 01.04.2008 00:15

SWF и MP3 - это разные вещи по сути. Если ты хочешь последовательно грузить такие файлы, то сделай для этого дополнительный прототип, который будет в себя грузить mp3 файл. Т.е. принцип остается, добавляется одно условие if(.mp3){mc.getMp3();}

priroda 01.04.2008 03:08

ra26info, не утруждайте себя. ваши ответы мне не помогают продвинуться ни на миллиметр

ra26info 01.04.2008 03:34

да, не все так просто.. ты права.

Molecula 01.04.2008 04:41

Люди, погугли бы там вдоём лучше и хелп почитали.
Картинки и СФВ грузите через loadClip - всё весно.
iNils, приводил тут скрип - поищите на 2-3 странице раньше.
А звук мы не грузим через MovieClipLoader.
А грузим где-то так:
Код:

import mx.utils.Delegate;
var s:Sound = new Sound(this);
var s_url:String = '1.mp3';
var s_streaming:Boolean = true;
s.onLoad = Delegate.create(this, loadSound);

function loadSound(success:Boolean) {
if (success) {
s.start();
trace('//----------Sound Loaded------------')
}
else trace('//----------Failed to load Sound------------')
};
s.loadSound(s_url, s_streaming);

var i:Number = setInterval(Delegate.create(this, soundInProgress), 100, s);
function soundInProgress(so:Sound):Void {
    var pct:Number = Math.round(so.getBytesLoaded()/so.getBytesTotal()*100);
    var pos:Number = Math.round(so.position/so.duration*100);
    trace(so.getBytesLoaded()+" of "+so.getBytesTotal()+" bytes ("+pct+"%)");
    trace(so.position+" of "+so.duration+" milliseconds ("+pos+"%)");
        /*if(somestate){
                clearInterval(i);
        }*/
}

Эти две строки:
Код:

trace(so.getBytesLoaded()+" of "+so.getBytesTotal()+" bytes ("+pct+"%)");
Код:

trace(so.position+" of "+so.duration+" milliseconds ("+pos+"%)");
позволяют нам сформировать условие, при котором мы можем начать проигрывать звук, или задержать его до выполнения какого-то действия и т.д.

Незабываем, что:
Код:

getBytesLoaded()
мы получаем благодаря:
Код:

s_streaming = true;
Можно ещё упомянуть:
Код:

_soundbuftime = на_сколько_секунд_забуфферизите;


Часовой пояс GMT +4, время: 09:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.