Показать сообщение отдельно
Старый 26.11.2010, 18:45
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 1  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию "умное" позиционирование объектов, созданных массивом

Привет, всем!
Помогите разобраться, как можно организовать "умное" позиционирование объектов внутри контейнера.
С помощью массива и xml загрузили 10 объектов
Код AS3:
private function xmlLoaded(e:Event):void
		{
			galeryLoader.removeEventListener(Event.COMPLETE, xmlLoaded);
 
			galeryXML = new XML(e.target.data);
			galery = galeryXML.imgs.attributes();
			numImgs = galery.length();
 
			getGalery();
			conversGalery();
		}
Код AS3:
private function getGalery():void
		{
			var galeryArrey = new Array();
			for(var i:int = 0; i < numImgs; i ++)
			{
				imageLoader =  new Loader;
				imageLoader.load(new URLRequest(galery[i]));
				galeryArrey.push(imageLoader);					
				cont.addChild(imageLoader);
                                imageLoader.name = "img"+[i];//что бы потопм обратиться
				//trace(imageLoader.name);
			}
		}
не хватает представления, как написать метод сonversGalery!



Что бы этот метод (conversGalery) расставлял объекты в контейнере по принципу:
размещаем ровное число загруженных объектов по stage.StageWidth в строку, если объекты не помещаются в одну строку – продолжаем размещать строкой ниже.

создаем 2 переменные:
Код AS3:
private var row:int = 0;//колличество строк 
private var column:int = 0;//колличество объектов в строке
колличество объектов в строке мы определим так:
Код AS3:
column = w / 350;
// где w – это stage.StageWidth
//а 350 – это длинна загружаемых объектов


Последний раз редактировалось Dr_Bra; 26.11.2010 в 19:28.