![]() |
|
||||||||||
|
|||||
|
Здравствуйте!
Зависает (выдает предложение остановить выполнение скрипта) компьютер при исполнении вот этого кода: picPrewLoad = function (way:String) {
var mc_loader:MovieClipLoader = new MovieClipLoader();
var mc_Listener:Object = new Object();
mc_loader.addListener(mc_Listener);
while (_global.picPrewFlag) {
//_global.picPrewFlag = false;
_global.picPrewCounter++;
trace(_global.picPrewCounter);
_root.mc_picPrew.createEmptyMovieClip("picPrew"+_global.picPrewCounter, _global.picPrewCounter);
mc_loader.loadClip(way+_global.picPrewCounter+".jpg", _root.mc_picPrew["picPrew"+_global.picPrewCounter]);
mc_Listener.onLoadError = function() {
_global.picPrewFlag = false;
trace("picPrew load error!");
};
}
};
Если активизирую неактивную в коде строку, не виснет, ну оно понятно. Если цикл while ставлю в /* ... */ ничего, естественно не виснет. Искал по поиску слово "while" - нет ни в одном подразделе раздела Flash. Почитал help, livedoc - все ясно и понятно. С MovieClipLoader()-ом посложнее, взял их хелпа пример и переделал под свои клипы. Причем сначала инициализация mc_loader, mc_Listener и mc_loader.addListener стояла в коде в цикле while. Зависало. Подумал, что возможно это из-за постоянного их объявления в цикле, убрал их наверх (как сейчас) - не помогло. По умолчанию _global.picPrewFlag = true при загрузке всего проекта. Вместо него пробовал использовать местную переменную - не помогло. 1. Наверняка уверен что неправильно использую класс MovieClipLoader. 2. Или может листенер с ошибкой используется. 3. А может быть mc_Listener.onLoadError не успевает получить (или отдать) в тело своей функции событие об ошибке, потому что вызывается снова тут же, если вообще так можно сказать. 4. Ну или с адресами напутал (такие конструкции [...]+"..."). Уважаемые форумчане, подскажите, где ошибка/ошибки? |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
var mc_loader:MovieClipLoader = new MovieClipLoader();
var mc_Listener:Object = new Object();
_global.picPrewCounter = 0; // начальная фотография
var way:String = "pictures/" // папка с фотографиями
function picPrewLoad (way:String) {
mc_loader.addListener(mc_Listener);
while (picPrewFlag) {
picPrewCounter++;
trace(picPrewCounter);
_root.mc_picPrew.createEmptyMovieClip("picPrew"+ picPrewCpicPrewounter + "_mc", picPrewCounter);
mc_loader.loadClip(way + picPrewCounter + ".jpg", _root["picPrew" + picPrewCpicPrewounter + + "_mc"]);
mc_Listener.onLoadError = function() {
picPrewFlag = false;
trace("picPrew load error!");
};
}
};
Последний раз редактировалось screamge; 18.04.2007 в 11:49. |
|
|||||
|
Ветеран форума
Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
|
не сразу въехал что нужно, while для этого дела не совсем подходит, локально может и что-то получится, но в нете погибнет.
var folder:String = "gallery/" //nazvanie papki otkuda berutsa fotki
var currentnum:Number = 0; //nomer pervoi fotki
var listen:Object = new Object (); // sozdaem slushatelia
listen.onLoadComplete = function (){ // sobitie po okonchniyu zagruzki
currentnum += 1
loadpic()
}
listen.onLoadError = function (){
trace ("error")
}
function loadpic (){
_root.createEmptyMovieClip("pic" + currentnum + "_mc", currentnum)
loader.loadClip(folder + ["pic" + currentnum + ".jpg"], "pic" + currentnum + "_mc");
}
var loader:MovieClipLoader = new MovieClipLoader ();
loader.addListener(listen)
loadpic ();
Последний раз редактировалось screamge; 18.04.2007 в 12:23. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цикл while создан не для отслеживания подобных загрузок.
|
|
|||||
|
screamge, Белая, __etc, спасибо Вам! Жаль в хелпе не написано "не юзать для подгрузки файлов". Не пропарился бы лишнее время.
Теперь подойду с другой стороны. ![]() |
|
|||||
|
screamge, вставил Ваш код в свой проект, а он не работает. Потом методом всяких размышелний дошел до версии флэш плеера. Посмотрел в хелп, а там MovieClipLoader.class начинается от версии №7. А у меня все под 6 писано. Как мне быть? Переставил весию на 7 - заработало (
). Но теперь проблема не только в том что что то не будет работать, а еще и в том, что хочется на 6 версии, которая почти у всех будет проигрываться, сделать. Ох чувствую что от темы, мною же созданной уклоняюсь, но это последний вопрос. В 6 версии каким образом грузились каталоги картинок? Стоит ли? Или большинство пользователей смогут посмотреть проект (сайт)? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Можно использовать loadMovie.
|
|
|||||
|
Вы правы __etc, последние мои вопросы не по теме, основной вопрос исчерапан и пора мне закругляться . Спасибо!
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|