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

Регистрация: Jan 2011
Сообщений: 70
По умолчанию массив Спрайтов... как обратится по имени?

Добрый день.

Код AS1/AS2:
package 
{
//--skiped...	
 
	public  class Grid extends Sprite
	{
            private var Cells:Array= new Array(); //-- мой ненаглядный костылек...
             //.....
        public function addCells()
		{
 
			for (var j:uint=0;j < 5; j++){
				for (var i:uint=0; i < 5; i++) {
					var t:Sprite = new TSprite();  //   -- создаем спрайтик.
 
					this.addChild(t);  //-- привязываем его к сетке, чтобы он отображался.
					t.x = i*32;         //-- меняем координаты.
					t.y = j*32;
					t.z = -1;
					t.name = "cell"+j+"_"+i; //-- меняем имя
					Cells.push(t); //-- сохраняем в массив, Это я вынужден делать пока гетчаилд не заставил работать.
				}
			}
		}
 
		public function activateCell(x,y)
		{
			//-- и вот тут не могу придумать как обратиться к ячейке. :( 
			trace((getChildByName("Cell1_1") as TSprite).name);
		}
вот такой простенький код. на экране сетка из ячеек 5 на 5 чтук. По событию мне необходимо обновлять нужную ячейку. Например, центральную. Сейчас я пробегаю по всему массиву пока не найду нужное имя, но это капец костыль. Как бы заставить getChildByName возвращать нужный мне объект... или как вообще принято хранить двумерные ячейки во флеше?

Не пулять памидорками - поставил флакс в этом году только. Не успел прочитать все, что понаписано в интернете ))