Показать сообщение отдельно
Старый 07.03.2011, 04:21
palem вне форума Посмотреть профиль Отправить личное сообщение для palem Найти все сообщения от palem
  № 1  
Ответить с цитированием
palem

Регистрация: Mar 2011
Сообщений: 1
По умолчанию Пропадают элементы массива

Здравствуйте, помогите пожалуйста разобраться:
В массив вгоняю пять элементов, и последовательно через Loader их загружаю, первых два грузятся остальные "null";
Второй день не могу что за проблема, проект переписываю второй раз...
Код AS3:
...
		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;
...
Element.as
Код AS3:
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);
		}
	}
 
}