Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   не получается двумерный массив в AS2 (http://www.flasher.ru/forum/showthread.php?t=75357)

Kotana 10.02.2006 15:27

не получается двумерный массив в AS2
 
Код:

class testClass {
        //
        public var ar:Array = new Array();
        //
        public function testClass() {
                //
                for(var i:Number = 0; i<2; i++) {
                        ar[i] = new Array();
                        for(var j:Number = 0; j<2; j++) {
                               
                                ar[i][j].x =Math.random()*23;
                                trace(i+ " " + j + " " +ar[i][j]);
                        }
                }
               
        }
}

выдаёт
0 0 undefined
0 1 undefined
1 0 undefined
1 1 undefined

почему?

araneola.com 10.02.2006 15:35

... ar[i,j] ...

Leezard 10.02.2006 15:54

class testClass {
//
public var ar:Array = new Array();
//
public function testClass() {
//
for(var i:Number = 0; i<2; i++) {
ar[i] = new Array();
for(var j:Number = 0; j<2; j++) {

ar[i][j] =Math.random()*23;
trace(i+ " " + j + " " +ar[i][j]);
}
}

}
}

0 0 6.82706758100539
0 1 6.88128723530099
1 0 21.1780915451236
1 1 13.1039536758326

С какого перепоя там присваивание иксу?

Kotana 10.02.2006 16:16

Цитата:

Сообщение от Leezard
С какого перепоя там присваивание иксу?

надо

глюк понят, но FDT на [i,j] ругается

KidsKilla 10.02.2006 16:19

умница. ты глянь-ка:

ar[i][j] ={x:Math.random()*23};
trace(i+ " " + j + " " +ar[i][j].x);

KidsKilla 10.02.2006 16:20

Цитата:

Сообщение от Kotana
надо

глюк понят, но FDT на [i,j] ругается

[i,j]
это бред сивой кобылы.

Kotana 10.02.2006 16:28

Цитата:

Сообщение от KidsKilla
умница. ты глянь-ка:

ar[i][j] ={x:Math.random()*23};
trace(i+ " " + j + " " +ar[i][j].x);

тогда объясни умник почему [i,j] работает а [i][j] нет?

Kotana 10.02.2006 16:31

Цитата:

Сообщение от KidsKilla
[i,j]
это бред сивой кобылы.

от того, что ты не умеешь подтверждать свои ответы делом ты умнее не становишься.

работают и [i,j] и [i][j]
вопрос возникает только с .x, но с этим я уже разобралась

Kotana 10.02.2006 16:34

вопрос почему FDT не воспринимает ни [i,j], ни [i][j]

Leezard 10.02.2006 16:35

Если X "надо", тогда в теме надо было писать:
"не получается трехмерный массив в AS2"

araneola.com 10.02.2006 16:41

Цитата:

Сообщение от KidsKilla
[i,j]
это бред сивой кобылы.

ты попробуй, а потом гунди.. всё работает.. ;)

KidsKilla 10.02.2006 16:42

Цитата:

Сообщение от Kotana
вопрос почему FDT не воспринимает ни [i,j], ни [i][j]

ответ: потому что код, что ты привела вначале неверный -- ты не создав объект обращалась к свойствам.

про [i,j] не проверив ляпнул. спасибо что поправили. до сих пор думал что это приведёт к ошибке. ща проверил в 8, 7 и 6м флешах -- пашет...

Kotana 10.02.2006 16:46

надо было писать не получается двухмерный массив в FDT
а х - это
ar[i,j] = new Object();
ar[i,j].x = 123;

Kotana 10.02.2006 16:53

Цитата:

Сообщение от KidsKilla
ответ: потому что код, что ты привела вначале неверный -- ты не создав объект обращалась к свойствам.

а ты проверил?

ar[i,j] - подчёркивает запятую
Syntax error, Encountered "," at line 13, column 9

ar[i][j]
подчёркивает вторую открывающуюся фигурную скобку
Cannot identify type due to preceding array access

KidsKilla 10.02.2006 16:57

объясняю в деталях:
фдт твою конструкцию понял какраз как "обращение к свойствам несозданного объекта".
флеш понял так: присвоить массиву (хз ar[i] или ar[j]) параметр икс и ему дать рандом.
потом ты обратилась к несуществующему значению ar[i][j].
наглядно:

Код:

var ar:Array = new Array();
for (var i:Number = 0; i<2; i++) {
        ar[i] = new Array();
        for (var j:Number = 0; j<2; j++) {
                ar[i,j].x = Math.random()*23;
                trace(i+" "+j+" i:"+ar[i].x+" j:"+ar[j].x); // можно
        }
}

вобщем-то флеш повёл ся загадошно...

Kotana 10.02.2006 17:02

ещё раз повторить?
ошибка при обращении ar[i,j]
код я уже давно поправила.

KidsKilla 10.02.2006 17:03

чуть сам себя не обманул. всётаки [i,j] -- бред сивой кобылы

b = [["1.1","1.2"],["2.1","2.2"]]
trace(b[0,0])
trace(b[0][0])

Kotana 10.02.2006 17:06

Цитата:

Сообщение от KidsKilla
чуть сам себя не обманул. всётаки [i,j] -- бред сивой кобылы

b = [["1.1","1.2"],["2.1","2.2"]]
trace(b[0,0])
trace(b[0][0])

О! ты наконец-то что-то сам проверил!

KidsKilla 10.02.2006 17:07

Цитата:

Сообщение от Kotana
О! ты наконец-то что-то сам проверил!

язвишь? =)

Kotana 10.02.2006 17:16

Цитата:

Сообщение от KidsKilla
язвишь? =)

радуюсь!


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

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