Прелоадер для ‘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.