Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   LoadMovie работает через раз!!! (http://www.flasher.ru/forum/showthread.php?t=59011)

Ромастый 04.06.2004 19:02

LoadMovie работает через раз!!!
 
Какая-то странная проблема - с винта все работает ок и подгружает swf'ы в основной клип нормально, а из инета то со второго клика, реже с третьего, еще реже с первого:(

Ромастый 04.06.2004 19:32

Может это быть из-за того, что я один и тот же swf подгружаю несколько раз? То есть первый раз загрузил, потом что-то еще заместо него загрузил, потом хочешь его же обратно - и вот оно, тока со второго клика. А то и стретьего:(

silin 04.06.2004 23:03

посмотри по форуму про ожидание загрузки (много раз обсуждалось)

Ромастый 05.06.2004 14:35

Я весь поиск уже просмотрел - только один раз что-то похожее встретил, но четкого решения проблемы не было:(
Подгружаемые swf - весят мало, а прелы вообще копейки! Но почему-то создается впечатление, что после первого клика только выгружается содержимое предыдущего клипа, а после второго МОМЕНТАЛЬНО загружается нужный. Это не может быть из-за того, что в подгружаемом swf'е каждый раз объект loadVars создается (содержимое swf динамически через php обновляется)?

Ромастый 05.06.2004 14:58

И еще. Каждый раз нужный swf из инета скачивается, или все-таки только первый раз, а потом уже из кэша?

s_u_m_p 05.06.2004 16:10

Цитата:

Оригинал написал(а) Romasty
Я весь поиск уже просмотрел - только один раз что-то похожее встретил, но четкого решения проблемы не было:(
Подгружаемые swf - весят мало, а прелы вообще копейки! Но почему-то создается впечатление, что после первого клика только выгружается содержимое предыдущего клипа, а после второго МОМЕНТАЛЬНО загружается нужный. Это не может быть из-за того, что в подгружаемом swf'е каждый раз объект loadVars создается (содержимое swf динамически через php обновляется)?

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

а прелодаер обязательно нужен

this.createEmptyMovieClip ("mc", 1);
mc.loadMovie ("your_file");
this.onEnterFrame = function () {
var to = this.mc.getBytesTotal ();
var lo = this.mc.getBytesLoaded ();
if (to*lo > 0 && lo >= to) {
// image loaded
} else {
// preloader
}
}

s_u_m_p 05.06.2004 16:23

Цитата:

Оригинал написал(а) Romasty
И еще. Каждый раз нужный swf из инета скачивается, или все-таки только первый раз, а потом уже из кэша?
один раз потом из кэша

тут на форуме bitSky показывал как сдалать все время загрузку из инета и как вообще контролировать все это дело...

вот линк

Ромастый 05.06.2004 17:02

THANK's! :)
Я каждый раз mc стал удалять и тут же создавать - кто-то писал про глюк, когда процесс загрузки не останавливается и подвисает, а после второго клика прерывается, и соответственно после третьего опять начинается.
А все LoadVars я в центральный код вынес и сделал, что бы все данные после первой загрузки в корневых переменных оставались - чтоб при повторном обоащении к серверу не обращаться.

s_u_m_p 05.06.2004 19:07

а при чем тут клики? ты что на евенты сразу функции вешаешь? можно просто: поле загрузки опредеделяй действия


this.createEmptyMovieClip ("mc", 1);
mc.loadMovie ("your_file");
this.onEnterFrame = function () {
var to = this.mc.getBytesTotal ();
var lo = this.mc.getBytesLoaded ();
if (to*lo > 0 && lo >= to) {
// image loaded
/////////
mc.onRollOver = function () {
}
mc.onRelease = function () {
}
mc.onRollOut = function () {
}
//////////
} else {
// preloader
}
}

Dunkin MadLoad 05.06.2004 21:59

сделай клип тот куда грузица кадра в 3. и когда ты хочешь в нево загрузить уже второй объект выгрузи официально первый. тоесть напиши unloadmovie. дома у тя swf работает ибо не через ехплорер, а с инета все старые обекты проходят нелегкий путь через бравзер и поетому засоряется и флэш думает что он загрузил обект, а на самом деле он ево только выгрузил))

Ромастый 07.06.2004 02:05

Цитата:

Оригинал написал(а) Dunkin MadLoad
сделай клип тот куда грузица кадра в 3. и когда ты хочешь в нево загрузить уже второй объект выгрузи официально первый. тоесть напиши unloadmovie. дома у тя swf работает ибо не через ехплорер, а с инета все старые обекты проходят нелегкий путь через бравзер и поетому засоряется и флэш думает что он загрузил обект, а на самом деле он ево только выгрузил))
Тож работает, но принципиально от mc.removeMovieClip(); и тутже createEmptyMovieClip("mc",0); не отличается. Просто хочется понять почему иногда при повторном клике swf только выгружается, а иногда выгружается и тут же грузит новый. Экспериментировал, регулярно чистя кэш! Пока не понял - почему так случается при подгрузке в один и тот же mc, но swf'ы не содержащие динамическую подгрузку данных грузятся ВСЕГДА с первого клика, а в которых есть loadVars - со второго, но иногда и первого, реже - с третьего. Закономерности не установил :(
Вынес весь код в центральный мувик и myLoad = new LoadVars(); myLoad.load(...) выполняется один раз после первого обращения, после этого все перменные хранятся в корне. Не очень правильно с точки зрения использования ресурсов клиента, но специфика сайта такова, что иногда приходится возвращаться к уже просмотренным разделам.
В общем, сейчас все работает как надо, но хочется точно знать причину такой вот фигни :)

Ромастый 07.06.2004 02:12

[quote]Оригинал написал(а) s_u_m_p
[b]а при чем тут клики? ты что на евенты сразу функции вешаешь? можно просто: поле загрузки опредеделяй действия

это понятно. Я еще просто не очень опытен, и код не всегда централизую. Необходимые действия пишу в самих подгружаемых swf'ах на выполнение LoadVars.onLoad=function() {} Дело в другом - не могу понять, почему иногда выгружает и сразе грузит, а иногда просто выгружает :rolleyes:

Dunkin MadLoad 07.06.2004 07:07

дык на твой loadvars время надо. ибо то время, которое затрачиваешь скажем на onrelease или есче чиво, его не хватает на прогрузку данных. сделай клипы кадра по 3 хотя бы или веди учет загруженных байтов

Ромастый 07.06.2004 19:53

Спасиб!!! Просто понять один раз организацию загрузки, и нет проблем:)


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

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