Показать сообщение отдельно
Старый 20.10.2011, 17:07
S.Petrov вне форума Посмотреть профиль Отправить личное сообщение для S.Petrov Найти все сообщения от S.Petrov
  № 1  
Ответить с цитированием
S.Petrov

Регистрация: Jul 2010
Сообщений: 13
Спасибо за отклик. Но все равно что то не получется, может я что не так делаю. Вот попробовал вывести trace
Код AS3:
var n:int = 4;
			var m:int = 5;
			var sourceArr:Array = [];
			var index:int;
			trace ("sourceArray");
			for (var ii:int = 0; ii < n; ii++) {
				sourceArr[ii] = [];
				for (var jj:int = 0; jj < m; jj++) {
					sourceArr[ii][jj] = index;
					index++;
				}
				trace (sourceArr[ii]);
			}
 
 
			var num:uint = (n + m - 1);
			var max:uint = (n <= m) ? n : m;
 
			var diagArr:Array = [];
			for(var k:uint = 0;k<num;k++)
			{
				var retArr:Array = [];
				var x:uint = (k > m) ? (k - m - 1) : 0;
				var y:uint = (k <= n) ? k : n;
				var l:uint = (k < max) ? k : 2*max - k;
				for(var i:uint = 0;i<l;i++)
				{
					retArr.push(sourceArr[x+i][y+i]);
				}
				diagArr.push(retArr);
			}
 
			trace("\n\rresult\n-------------------------------------\n"+diagArr);
Получилось вот так:
Код AS3:
sourceArray
0,1,2,3,4
5,6,7,8,9
10,11,12,13,14
15,16,17,18,19
 
 
result
-------------------------------------
,1,2,8,3,9,,4,,,,4,,,4,,9