![]() |
MovieClipLoader что нужно обязательно
Здравствуйте!
Просьба сильно не пинаться, понимаю что вопрос глупый, но всё-таки. Почитал хэлп на тему MovieClipLoader. Судя по примеру в хэлпе нужно создать: 1) Мувиклип куда всё будем грузить. 2) Некий var my_mcl:MovieClipLoader = new MovieClipLoader(); 3) Листнер Обязательно всё это создавать? Судя по тому, что аналогично в хэлпе про LoadVars юзается слишком много обьектов, а можно обойтись меньшим количеством, то и тут можно как-то проще. Обычно в такой ситуации я просто методом эксперимента нахожу ответ. Но сейчас нет такой возможности, поэтому прошу помощи у вас. Заранее огромное спасибо всем! |
Код:
var l:MovieClipLoader = new MovieClipLoader(); |
Ага.
А чтобы обработать событие на завершение загрузки(MovieClipLoader.onLoadComplete) или подобное нужно создать листнера обязательно? |
Да, он один на все события MovieClipLoader-а.
|
Только не надо ваять в качестве некоего загадочного «лисенера» какой-то левый объект.
|
Например Рут? :)
|
Рут как бы перебор, но можно и его.
|
Цитата:
Вот так помойму проблем не будет: mc1,mc2,..mcn - мувики куда будем грузить. loader - MovieClipLoader loadlistner - листнер Разве так не будет работать? ДОБАВЛЕНО -------------------------------------------------------------------------------------------- Пишу код: Код:
var loader:MovieClipLoader = new MovieClipLoader();Картинка грузиться, а вот trace не срабатывает! Где ошибка? |
Beta-tester вы не первый день на форуме, а код оформлять так и не научились.
mclListener вообще не нужен, это мусорный объект. |
Код:
var l:MovieClipLoader = new MovieClipLoader(); |
Ещё один ваяет мусор…
|
Цитата:
Каюсь, забываю. Не со зла, честно. Цитата:
Код:
var loader:MovieClipLoader = new MovieClipLoader();Добавлено:-------------------------------------------- Код:
var loader:MovieClipLoader = new MovieClipLoader();Вот это я ещё в начале темы пытался выяснить. |
Вешать надо на this.
|
Цитата:
|
Код:
var loader:MovieClipLoader = new MovieClipLoader (); |
Цитата:
Сорри, за возможно глупый вопрос. А почему надо делать именно так? Мой последний код чем-то хуже? Поймите меня правильно, я не придираюсь, а хочу докопаться до смысла почему именно так, чтобы это понять и впредь делать правильно. Заранее спасибо! |
Зачем создавать лишнию переменную?
А когда будете писать классы, ваша схема не сработает. |
Цитата:
|
Цитата:
|
Ну, в смысле, специально создавать объект-слушатель не нужно, на события МувиКлипЛоадера можно подписать все, что вообще можно подписать на события. Лично мне бывает удобно создавать 2 слушателя - первый занимается учетом, второй преобразованиями, но это кому как нравится =) Т.е. предположим, есть у меня какой-нть класс, который умеет отображать всякие прогрессбары и есть класс, который умеет хранить уменьшенные привьюхи - подписываю их обоих на события МКЛоадера - как-то не логично, что в одном классе будут и сложены в кучу привьюхи с прогрессбарами =)
|
Ну да, согласен...всё зависит от структуры кода. Где-то удобнее так, а где-то по-другому
|
При переделывании всего под MovieClipLoader появились некоторые проблемы.
Вот такая ситуация: через лоадварс загружается инфа из ПХП. На онЛоад стоит обработчик, который обрабаытвает полученную информацию(вставляет описания к превьюшкам) и вызывает ф-ку, которая загружает новые превьюшки. Загрузка происходит приблизительно вот так: Код:
//floadingnum - номер загружаемой превьюхиКак быть? Как прервать загрузку и обработку событий загрузки при переходе на новую страницу? Или ошибка не сдесь? В старом варианте с loadmovies была немного другая оработка(использовался onEnterFrame), которая припереходе на новую страницу затиралась и всё отдично работало. ДОЮАВЛЕНО------------------------------------------------------------------------------------------- ИМХО, если прибить loader(var loader:MovieClipLoader = new MovieClipLoader()), то всё должно работать нормально. Подскажите плиз как обнулить или пересоздать или убить его? |
По всей видимости сюда вставить проверку "страницы"
Код:
if (allcount>floadingnum) { |
Для того чтобы не сбивать с мысли исправил allcoun на count, где count - число превьющек. Скрипт выдаёт постраничную информацию. И может так случиться,то на последней будет напрмер не 5, а только 3 превьюхи. Вот в count и будет 3. Эта проверка для этого.
А сам переход на страницы сдесь не привидён(слишком весомо сюда всё вставлять). Смысл таков. Есть ф-ция ОнЛоад(о ней я в начале предыдушего поста написал), она получает от скрипта инф, обрабатывает и вызывает загрузку. Т.е. преход на новую страницу - всеголишь вызов пхп скрипта с другим параметром. Т.е. изначально вызываем пхп скрипт так чтобы он выдал первую страницу, а при переходе надругую вызываем пхп с параметром stranica=3 к примеру. Дальше обработчик онЛоад получает всю инфу и распихиват всё по полкам. Всё предельно просто. Но имхо копать надо совсем не здесь. Ошибка скорее всего тут: Если не все превью загрузились и был нажат переход на новую страницу, то начатая загрузка продолжается и тут начинается новая загрузка. Неуспевает ещё загрузиться новая превью, как загружается старая(с прошлой страницы), а листнер то общий!!! Как убить loader(var loader:MovieClipLoader = new MovieClipLoader()) или оборвать все его закачки и обработки событий, как бы сброс сделать? Добавлено ----------------------------------------------------------------------------- Появилась идея. Если причина там, где я дуаю то можно попробовать проверять тот ли файл загрузился. Вот какой вопрос: Вот код: Код:
var loader:MovieClipLoader = new MovieClipLoader (); |
Код:
var loader:MovieClipLoader = new MovieClipLoader(); |
Beta-tester получает второй плюс.
|
Цитата:
Как и писал выше косяк в том, что при переходе на другую страницу начатая закачка не обывается. Соответсвенно когда уже устаревшая закака завершается вызывается ОнЛоадКомплит. А в его обработчике не проверяется, какой файл загрузился и он считает, что загрузился файл на новой странице. P.S. Возможно это не единственный косяк. Завтра буду смотреть... Цитата:
Вы думаете я специально игнорирую ваши замечния? Это автоматически оисходит. Если несколько лет подряд елать одно и тоже,то потом в одночасье прекратить это длать или делать подругому не получиться...привычка называется :) А вообще какая разница? Неужели эта рамка делает что-то красивее? не говорю про то, что чтение ИМХО только усложняется. |
Цитата:
Нужно уважать собеседников, оформляя код. Всегда. Продолжать полемику на эту тему я очень не рекомендую, ибо вредно. Для тех, кому непонятно, зачем оформлять код: это необходимо для того, чтобы простыня кода не была выравнена по левому краю, не была без табуляции и не расстягивала страницу форума на два километра по вертикали и горизонтали. Про правильный моноширинный шрифт, нормальное копирование, отсутствие левых переносов я вообще промолчу. |
И не было подобных эффектов со смайлами:
var date:Data = new Date (); Beta-tester, данный вопрос не обсуждается и что правила других форумов нас не интересует. Поэтому либо вы их соблюдаете, либо покидаете форум - раз забываете. |
Цитата:
Цитата:
P.S. Пошёл на путь исправления. Прошу мне в этом помочь и не бить больше вилами! Больно всё-таки :) |
Код:
var loader:MovieClipLoader = new MovieClipLoader (); |
Цитата:
|
Не получается прочитать про MovieClipLoader.onLoadProgress наверное.
|
| Часовой пояс GMT +4, время: 10:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.