PDA

Просмотр полной версии : Массив


Olmer
21.03.2006, 22:58
Помогите!!!!
На сцене лежат 15 квадратов.
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
Нужно создать массив 5 на 3 в котором будут храниться кординаты квадратов. :confused:

Homo Sapiens
21.03.2006, 23:00
var arr:Array = new Array(5);
for(var i = 0; i < 5; i++)
arr[i] = new Array(3);

KUZEN
22.03.2006, 18:10
var arr:Array = new Array(5);
for(var i = 0; i < 5; i++)
arr[i] = new Array(3);

Пред тем как писать проверить не мешало бы )))

KUZEN
22.03.2006, 19:00
Думаю что что то в этом духе навскидку

var numCubes:Number = 15;
var numColumns:Number = 3;
var margin:Number = 10;
//
var arr:Array = new Array();
//
var a = -1;
for (var i = 0; i<numCubes; i++) {
if (i%(numCubes/numColumns)) {
} else {
a++;
arr.push([]);
}
_root.attachMovie("mc", "mc"+i, i);
var m = _root["mc"+i];
m._y = Math.floor(i/(numCubes/numColumns))*(m._height+margin);
m._x = (m._width+margin)*(i%(numCubes/numColumns));
//
arr[a].push({x:m._x, y:m._y});
}
//

Homo Sapiens
22.03.2006, 22:21
Пред тем как писать проверить не мешало бы )))
А что тебя смущает?
trace(arr.length);
trace(arr[0].length);
Выведет 5 и 3. Массив создан. Что и требовалось. А уж забить элементы массива цифрами...

KUZEN
24.03.2006, 00:35
А что тебя смущает?
trace(arr.length);
trace(arr[0].length);
Выведет 5 и 3. Массив создан. Что и требовалось. А уж забить элементы массива цифрами...
Просто смутило то что в дебаггере были только 5 элементов и всё ... собственно всё было пустым а длинна всё равно трейсится ....

Homo Sapiens
24.03.2006, 00:57
собственно всё было пустым а длинна всё равно трейсится .... Ну, блин, переменные то неинициализированны, поэтому и undefined.