Прелоадер для ‘img’

декабря 11, 2007

TextField – субстанция крайне интересная, взбаломошная и мистическая.
Обуздание оной подчас превращается в подвиг Геракла.
Несколько статей о TеxtField я обязательно размещу на страницах этого блога.

Многие знают, что в текстовое поле с подключенным html можно грузить картинки и флешки, а также вставлять символы из библиотеки.
Но вот вопрос – а можно ли взаимодействовать с этими объектами? Например возможен ли прелоадер?

ДА и очень просто. Фактически тег <IMG> создает внутри тексатового поля новый MovieClip. Если в html-коде прописан id для IMG, то будет создан клип именно с таким instance name. И обращаться к этому клипу можно через текстовое поле. К примеру если в текстовое поле my_txt внедряется картинка

<img id="img" src="http://yoursite.com/images/someIMG.pg" alt="" />

То мы можем обратиться к ней my_txt.img

Но что если у нас есть html-текст с img без id, и таких картинок много, а нам необходимо сделать скроллер для текстового поля. Пока картинки не загружены мы с большой долей вероятности получим неверную высоту поля.
Есть простой способ – нам нужно просто завести массив для учета встроенных картинок

var htmlIMG:Array = [];

И пройтись по текстовому полю циклом for…in, помня, что картинки – это объекты типа MovieClip.

for (var mc in my_txt)
  {
     if(typeof(my_txt[mc]) == "movieclip")
     {
         trace("found IMG: "+my_txt[mc]);
         htmlIMG.push(my_txt[mc]);
     }
}

Теперь у нас есть массив, в которые занесены ссылки на все клипы.
А дальше – прелоадер должен собрать все загруженные байты этих клипов и все тотальные байты этих же клипов. Суммируем, делим, получаем процент. По завершению загрузки – проверяем высоту поля, и приделываем наш бесценный скроллер.

Popularity: 8% [?]

Entry Filed under: AS2.0,ActionScript,text

5 комментариев

  • 1. artfabrique  |  января 23, 2008 at 12:37

    Привет! слушай а ты не эксперементировал с передачей параметров в IMG через «?var=1″ ?
    Чтобы писать такого рода штуки:

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

  • 2. artfabrique  |  января 23, 2008 at 12:38

    =)) в предыдущем посте вырезал блог часть строки

  • 3. artfabrique  |  января 23, 2008 at 12:39

    опять вырезал =))) так!

  • 4. murejib  |  января 23, 2008 at 18:06

    Не совсем понял о чем речь )
    Попробуй ту строку, которую вырезает, оформить тегом code

  • 5. flashman  |  мая 26, 2008 at 18:50

    Круто. Спс за этот trick. :)




МЕТА

Метки

2d 3D ActionScript adobe ae after effects animation animator_at_work AS2.0 AS3.0 astro bones bug bugfix debug deep linking draw drawing extension Flash flash CS4 flex fscommand fx html IK Math mindstream music-video NB opensource security swfaddress TextField traps uafpug useful utils video Новости анимация кинематика кости поток сознания туториал

Календарь

Декабрь 2007
Пн Вт Ср Чт Пт Сб Вс
    Янв »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Архив

Ссылки

Радио