![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 7
|
Первый вопрос
Поясняю ситуацию. Нужно подгрузить внешний swf оставить его сделать невидимым и потом в определенный момент начать его проигрывать. movie находится в руте. В таймлайне прописана строка movie.onLoad = function () {stop();} Так жа на самом клипе movie прописано onClipEvent(load) {stop();} При trace(this) оба выдают ссылку на movie но! В случае onLoad останавливается проигрывание _root Если поменять _root.movie.stop(); или пишется _root.movie.gotoAndStop(1); this.stop(); _root проигрывается но сам movie не останавливается. Хотя поменять _x и _y я могу однако свойство _visible не меняется, т.е. клип как показывался так и показывается. Если все это менять в onClipEvent(load){ } все срабатывает правильно. все события происходят с movie. В чем фишка? Второй вопрос На клипе висит onClipEvent (load) { stop(); _visible=false; } В определенный момент я в _root пишу movie._visible=true; movie.play(); На локале все работает отлично. Но при выкладывании в интет мувик не запускается. Он становится видимым но не играет. Почему? Пыталась исспользовать вместо load data все равно не получилось |
|
|||||
|
Загрузка для локали и для онлайновой версии различается. По возможности разберись с MovieClipLoader - новым объектом во FlashMX2004. Это может решить проблему. Другой способ - для онлйн-версии используй проверку на то, загружен мувик или нет через функции getBytesLoaded() и getBytesTotal() примерно так:
if(yourMC.getBytesLoaded()/yourMC.getBytesTotal()==1){ yourMC._visible = 0 _root.play() } Это не весь код, а лишь намек. Поищи в хелпе и на форуме. Создание прелоадеров - такая же старая тема как и флеш вообще.
__________________
www.maxshaman.com |
|
|||||
|
Да, и еще: onLoad() и onClipEvent (load) можешь вообще не использовать в этом случае.
__________________
www.maxshaman.com |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 7
|
забыла оговорится все нужно сделать средствами максимум 6-го флеша. луше 5го. так что о средствах 2004 речи вообще не идет.
прелоадер у меня есть. и уровень загрузки я проверяю. все о чем я говорю происходит после прелоадера. |
|
|||||
|
для локальной версии не важно какая версия флеша, если ты публикуешь флеш в виде проектора. для веба делай классический прелоадер, который работает под 5-6-7 версии и обсуждался сотню раз на этом форуме.
__________________
www.maxshaman.com |
|
|||||
|
прелоадер для основного клипа и прелоадеры для подгружаемых клипов - это разные штуки
|
|
|||||
|
Регистрация: Sep 2004
Сообщений: 7
|
Публикую для веба, а не для протектора. Хотя про протектор не знала. Буду иметь в виду.
Я знаю алгоритм прелоадера. Так же как и знаю что прелоадеры для основного и для подружаемых клипов разные вещи. Так же как и getBytesTotal() определяет размер самого мукиклипа без учета подгружемых файлов. Так в исходнике у меня там реализован алгоритм прелоадера для подгружаемого файла. И все происходит после или на этапе загрузки клипа. Но все равно не пойму почему не работает movie.onLoad? |
|
|||||
|
Попробуй добавить вот такой код. Будет работать.
sol = function (f) { if (__onLoadHandler__ == undefined) { _global.__onLoadHandler__ = {}; } __onLoadHandler__[this] = f; }; //getter for onLoad gol = function () { return __onLoadHandler__[this]; }; MovieClip.prototype.addProperty("onLoad", gol, sol); //Test _root.yourMovieClip.onLoad = function() { trace("I am loaded"); }; _root.yourMovieClip.loadMovie("someMovie.swf");
__________________
www.maxshaman.com |
|
|||||
|
Либо есть еще вот такое решение (там же написано почему onLoad не работает):
http://www.actionscripts.org/forums/...threadid=13830
__________________
www.maxshaman.com Последний раз редактировалось Sh@man; 02.09.2005 в 15:22. |
|
|||||
|
Регистрация: Sep 2004
Сообщений: 7
|
я может быть действительно чего-то не понимаю.
но зачем мне менять прототипы функций если у меня все подгружается нормально? я просто не могу застопить и сделать невидимым подгружаемый мувик. |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|