![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2011
Сообщений: 1
|
Здравствуйте, помогите пожалуйста разобраться:
В массив вгоняю пять элементов, и последовательно через Loader их загружаю, первых два грузятся остальные "null"; Второй день не могу что за проблема, проект переписываю второй раз... ... private function init(e:Event = null):void { if (e) removeEventListener(Event.ADDED_TO_STAGE, init); elementsArr.push(new Element("http://www.astrakhan-blog.ru/imageLoader/1.jpg")); elementsArr.push(new Element("http://www.astrakhan-blog.ru/imageLoader/2.jpg")); elementsArr.push(new Element("http://www.astrakhan-blog.ru/imageLoader/3.jpg")); elementsArr.push(new Element("http://www.astrakhan-blog.ru/imageLoader/4.jpg")); elementsArr.push(new Element("http://www.astrakhan-blog.ru/imageLoader/5.jpg")); for (var a:int = 0; a < elementsArr.length; a++) { trace(elementsArr[a].photo_url); } trace(elementsArr.length); loadImage(); } function loadImage():void { imageLoader = new DynamicLoader(); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); imageLoader.load(new URLRequest(elementsArr[index].photo_url)); imageLoader.name = index.toString(); trace("Load: " + elementsArr[index].photo_url); } function loadComplete(event:Event):void { imageLoader.width = 100; imageLoader.height = 100; elementsArr[index].photo.addChild(imageLoader); // addChild(imageLoader); if (index < imagePath.length - 1) { index += 1; loadImage(); } else { for (var i : int = 0; i < elementsArr.length; i ++) { trace(elementsArr[i].photo_url); (elementsArr[i] as Element).photo.x = i * 100; (elementsArr[i] as Element).photo.y = 10; addChild(elementsArr[i].photo); } } } var imagePath:Array = ["http://www.astrakhan-blog.ru/imageLoader/1.jpg", "http://www.astrakhan-blog.ru/imageLoader/2.jpg"]; var index : int = 0; var imageLoader:DynamicLoader; var elementsArr : Array = new Array; ... package com.studio { import flash.display.*; import flash.text.*; public class Element extends MovieClip { public var photo_url : String; public var photo : MovieClip; public function Element(photo_url : String) { this.photo_url = photo_url; this.photo = new MovieClip(); var tf : TextField = new TextField(); tf.text = "none"; tf.x=10; tf.y=10; tf.width = 80; tf.height = 80; this.photo.addChild(tf); } } } |
|
|||||
|
Modus ponens
|
Трейсите index, наверное вы его где-то еще меняете, ну или, не знаю DynamicLoader может делает что-то странное.
Кроме этого: push() может принимать больше одного аргумента. Инициализировать простые типы (int, uint, Boolean) дефолтными значениями - бесполезный код. Подчерки в именах публичных свойств - плохой тон. Вызывать конструктор без круглых скобок - плохой тон (тем более, если вы уже в одном месте пользуетесь литералом массива, не понятно почему в другом вы используете полную запись). Меньше 3 букв в названии переменной - плохой тон.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
var imagePath:Array = ["http://www.astrakhan-blog.ru/imageLoader/1.jpg", "http://www.astrakhan-blog.ru/imageLoader/2.jpg"]; if (index < imagePath.length - 1) { for (var i : int = 0; i < elementsArr.length; i ++) { Рекомендую вообще вынести загрузку в отдельный класс, параметризованный списком загружаемых элементов. Уведомление о процессе загрузки - как угодно, можно событиями, можно callback в конце. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|