PDA

Просмотр полной версии : Вопрос по конкретному коду (Цикл + Массив)


Contemplater
17.11.2007, 23:10
Цикл не хочет писать массив...
function initial(Ai:Number, Bi:Number)
{
var initial_arr:Array = [];
for (var q = Ai; q<Bi+1; q++)
{
for (var w = 0; w<30; w++)
{
if (bitmap.getPixel(q, w) == 0x000000)
{
initial_arr[q-Ai][w] = 1;
}
else
{
initial_arr[q-Ai][w] = 0;
}
}
}
trace(initial_arr.length);
};
initial(1,5);
При трасировке - 0 и баста ....
подскажите что не так?

iNils
17.11.2007, 23:16
function initial (Ai:Number, Bi:Number) {
var initial_arr:Array = [];
for (var q = Ai; q < Bi + 1; q++) {
initial_arr[q - Ai] = [];
for (var w = 0; w < 30; w++) {
if (bitmap.getPixel (q, w) == 0x000000) {
initial_arr[q - Ai][w] = 1;
} else {
initial_arr[q - Ai][w] = 0;
}
}
}
trace (initial_arr.length);
}
initial (1, 5);

Contemplater
17.11.2007, 23:20
Огромное спасибо... просто анегдот =\... я не мог подумать о столь простом решении... Странно одно что в MX у меня работало даже так:

var a:Array = [];
a[0][0] = 1;
trace(a[0][0]);

еще раз спасибо...

iNils
17.11.2007, 23:25
Вы что-то путаете, это не могло работать.
Во флеше нет многомерных массивов, поэтому они эмулируются за счет того, что каждый элемент основного массива делается тоже массивом, что я и написал в коде.

Contemplater
17.11.2007, 23:28
Спорить не буду... мог и ошибиться... можно закрывать...