|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2009
Сообщений: 15
|
Подгрузка картинок и их отображение на экране
Здравствуйте!
По мере изучения флеш и написания небольших учебных приложений возник вопрос: Хочу подгрузить несколько внених картинок и отобразить их на экране. Написал такой код: package { import flash.display.*; import flash.net.*; import flash.events.*; import flash.system.*; public class pictures extends Sprite { public var loadEvent: Loader = new Loader(); public var loaders: Array = new Array(); public var urlRequest: URLRequest; public var i = 0; public function pictures () { urlRequest = new URLRequest; for (i = 0; i<=1; i++) { urlRequest.url = i+".jpg"; loaders[i] = new Loader(); loaders[i].contentLoaderInfo.addEventListener(Event.INIT, initListener); loaders[i].load(urlRequest); } } public function initListener (e:Event):void { addChildAt(loaders[i].content, i); } } } Выдает ошибку: TypeError: Error #1010: Термин не определен и не имеет свойств. at pictures/initListener() Заметил, если закомментировать строку с addEventListener то не выдает ошибку но естественно не вызывается функция-обработчик прерывания. Не очень силен в теории, но так и не нашел комментариев, нужно ли все таки вешать событие обработчик на каждый экземпляр Loader'a или нет. Если нужно вешать только на один то на какой именно. Вообщем буду благодарен, если знающие люди прояснят ситуацию по этим вопросам. |
|
|||||
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
|
|
|||||
Регистрация: May 2009
Сообщений: 220
|
Цитата:
public function pictures () { urlRequest = new URLRequest; for (i = 0; i<=1; i++) { urlRequest.url = i+".jpg"; loaders[i] = new Loader(); loaders[i].load(urlRequest); this.addChildAt(loaders[i], i); } } + loaders[i] заменить на локальную переменную для улучшения производительности |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
Я так писал:
Думал, что content только у Loader есть, сейчас посмотрел хелпе, был не прав Последний раз редактировалось Dimax4d; 28.07.2009 в 01:53. |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Есть и у LoaderInfo.
ps: проверял лично =) |
|
|||||
Регистрация: Jun 2009
Сообщений: 15
|
switcher!, udaaff, Dimax4d
Спасибо, все заработало. А все же для информации: почему не работал мой вариант? |
|
|||||
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
Цитата:
Цитата:
|
|
|||||
Регистрация: Jun 2009
Сообщений: 15
|
Что-то не совсем понимаю, событие то осталось тоже самое, просто по-другому из функции обработчика обращаемся к загруженному содержимому, вместо: addChildAt(loaders[i].content, i); пишем: addChild(LoaderInfo(e.target).content);
|
|
|||||
Регистрация: May 2009
Сообщений: 220
|
а что делает LoaderInfo(e.target)? Т.е. если у класса Loader, существует метод Loader(). То вот у LoaderInfo я такого метода в хелпе не нашел... хотя там же приводится пример использования LoaderInfo()
|
Часовой пояс GMT +4, время: 03:17. |
|
« Предыдущая тема | Следующая тема » |
|
|