Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 24.11.2012, 17:22
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 1  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
По умолчанию Заполнение элементов Массива массивов (изометрическая сетка)

Подскажите, каким образом можно правильно заполнить ячейки изометрической сетки (массива массивов) перетаскивая на нее объект определенного размера (1х6 и т.д.) как только я не пробовал это делать.
Код AS3:
	public function Click(e:MouseEvent):void
	{
		if (! drag)
		{
			if (e.target == osel)
			{
				curX = 16;
				curY = 10;
				objectMass = new Array();
 
				for (var rows:int=0; rows<curX; rows++)
				{
					objectMass.push(new Array());
				}
				while (true)
				{
					var tempCont = new MovieClip();
					for (var col:int=0; col<curX; col++)
					{
						for (var row:int=0; row<curY; row++)
						{
							var ball2x2 = new ball2x2_mc  ;
							objectMass[col][row] = ball2x2;
							ball2x2.x = col * 24;
							ball2x2.y = row * 24;
							ball2x2.mouseEnabled = false;
							tempCont.addChild(ball2x2);
 
						}
					}
					break;
				}
				gameMovieClip.addChild(tempCont);
				targ = tempCont;
				targ.startDrag(true);
				targ.mouseEnabled = false;
				drag = true;
			}
			if (e.target == tile)
			{
				curX = 1;
				curY = 1;
				objectMass = new Array();
				for (rows=0; rows<1; rows++)
				{
					objectMass.push(new Array());
				}
				while (true)
				{
					tempCont = new MovieClip();
					for (col=0; col<1; col++)
					{
						for (row=0; row<1; row++)
						{
							ball2x2 = new ball2x2_mc  ;
							objectMass[col][row] = ball2x2;
							ball2x2.x = col * 24;
							ball2x2.y = row * 24;
							ball2x2.mouseEnabled = false;
							tempCont.addChild(ball2x2);
 
						}
					}
					break;
				}
				gameMovieClip.addChild(tempCont);
				targ = tempCont;
				targ.startDrag(true);
				targ.mouseEnabled = false;
				drag = true;
			}
		}
		else
		{
			var score:int = 0;
			for (col=0; col<slots; col++)
			{
				for (row=0; row<slots; row++)
				{
					if (grid[col][row] == e.target)
					{
						for (var cur1:int=0; cur1<curX; cur1++)
						{
							for (var cur2:int=0; cur2<curY; cur2++)
							{
								if (grid[col + cur1][row + cur2].full == false)
								{
									score++;
									if (curX >= curY)
									{
										if (score == curX)
										{
											targ.x = e.target.x;
											targ.y = e.target.y;
											targ.stopDrag();
											targ = new MovieClip();
											for (var cur3:int=0; cur3<curX; cur3++)
											{
												for (var cur4:int=0; cur4<curY; cur4++)
												{
													grid[col + cur3][row + cur4].full = true;
												}
											}
											drag = false;
										}
									}
									if (curX < curY)
									{
										if (score == curY)
										{
											targ.x = e.target.x;
											targ.y = e.target.y;
											targ.stopDrag();
											targ = new MovieClip();
											for (cur3=0; cur3<curX; cur3++)
											{
												for (cur4=0; cur4<curY; cur4++)
												{
													grid[col + cur3][row + cur4].full = true;
												}
											}
											drag = false;
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.

Создать новую тему   Часовой пояс GMT +4, время: 06:37.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:37.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.