Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниз2-х мерный массив из одномерного Найти похожие ветки
← →
ЕщеОдинКакжеНадоели (2012-11-12 11:17) [0]в as3 нет многомерных массив,
делать массив с вложенными массивами - ужос.
думаю можно одномерный превратить в многомерный:
var A = new Array(width * height);
public function GetIdx(x: uint, y: uint):uint
{
return A[x + y * height];
}
массив нумеруется с 0.
только в GetIdx формула не правильная.
нужно [3, 2] элемент получить из массива 5 на 4.
получаем 3 + 2 * 4 = 11. а не 14.
какая правильна формула?
← →
Dimka Maslov © (2012-11-12 11:23) [1]y * width + x
← →
oldman © (2012-11-12 11:26) [2]
> нужно [3, 2] элемент получить из массива 5 на 4.
> получаем 3 + 2 * 4 = 11. а не 14.
>
Элемент [3,2] будет или 10 или 12 (4+4+2 или 5+5+2)
При нумерации с 0 будет 9 или 11
ЗЫ: 3+2*4 это елемент [3,3], двоечник!
← →
RWolf © (2012-11-12 11:36) [3]что плохого во вложенных массивах в AS3?
я на самом деле не в курсе.
← →
ЕщеОдинКакжеНадоели (2012-11-14 21:33) [4]
> RWolf © (12.11.12 11:36) [3]
>
> что плохого во вложенных массивах в AS3?
> я на самом деле не в курсе.
>
Думаю будет медленно.
← →
Дмитрий С © (2012-11-15 00:25) [5]
> делать массив с вложенными массивами - ужос.
и так и так ужос)
← →
Компромисс © (2012-11-15 10:32) [6]Почему будет медленно? Получение элемента по индексу - очень быстрая операция в AS3.
Можно даже простые Object использовать вместо Array, или Dictionary.
← →
ЕщеОдинКакжеНадоели (2012-11-15 11:00) [7]
> Дмитрий С © (15.11.12 00:25) [5]
>
>
> > делать массив с вложенными массивами - ужос.
>
> и так и так ужос)
Что предложите?
← →
Компромисс © (2012-11-15 11:17) [8]http://gamedev.michaeljameswilliams.com/2010/01/13/multidimensional-arrays-in-as3/
← →
Дмитрий С © (2012-11-15 11:37) [9]
> Что предложите?
я к тому что непринципально, хочешь через расчитанный индекс, хочешь массивы в массивах.
А массив какой размерности планируется?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.066 c