Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проклятые массивы! (http://www.flasher.ru/forum/showthread.php?t=51092)

urca 06.11.2003 19:05

Проклятые массивы!
 
SAVE MY SOULS!!!

Прошу помочь!
подскажите пож-та, как обращаться к полям массивов, оперировать с ними (ну сравнивать, присваивать... и тыпы и тыды..)

Имеется массив вида: namemass[ obj, x, y, flag]
______________________^1_____^2_^3_^4__^5
1 имя массива
2 имя обьекта (строка)
3 координата х обьекта (цифры)
4 координата у обьекта (цифры)
5 поле флага
Задача - в цикле обратиться к элементу массива (1) и получить значение поля в цифрах, затем в зависимости от значения некоторой переменной изменить значение поля массива flag (5).

В-общем основная проблема состоит в том, что я не знаю как обращаться к полям массива (ну НЕТУ лит-ры!!!).
Покажите будь ласка. А еще лучше - примерчик какой-нить!!

Дзенкую!




Косточка

urca 06.11.2003 19:15

А! да .. Это пятый Флэш..
забыл сказать сразу.

_1_Maxim 06.11.2003 22:41

Я не совсем, наверное, понял. Если что поправь.

Зачем тебе четырёхмерный массив.
Ведь поля 3),4),5)-это свойства объекта obj.

Помоему одномерного массива имён достаточно.

urca 07.11.2003 02:03

Я чуток ширшее выскажусь:

массив на самом деле віглядит так

namemass[["a1","a2","a3"....."a26"][x1,x2,x3...x26][y1,y2,y3,...y26][flag1...flag26]]

Мне требуется: вызывать и оперировать (считівать иредактировать) с ЗНАЧЕНИЕМ полей
х1...x26, y1....y26, flag1....flag 26

Основная проблема состоит в том, что я не знаю как правильно обратиться к элементу записи поля массива, чтобы прочитать значение! ВОТ.

Я уже в принципе выкрутился с помошью простейших массивов
вида масс=["а1"..."а26"] масс=[x1......x26] ...но все-таки одним было бы лучше!
Все равно пошу помочь!

Usnul 07.11.2003 03:04

ты сам-то понял что сказал? вопрос хреново поставлен.

Diomas 07.11.2003 03:30

К элементам двумерного массива (namemass) надо обращаться так: namemass[...][...] (если ты это спрашивал).

_1_Maxim 07.11.2003 09:34

Да именно так

namemass[i][j][k][l].

Если же у тебя масси указателей на объекты то:

namemass[i].name
namemass[i].x
namemass[i].y
namemass[i].flag.

Lorex 09.11.2003 01:02

Кстате, земляк... тьі откуда?... я ведь тоже пишу через "і"

Так понимаю, что надо создать масив об"єктов, тоесть,

у первого елемента есть поле:

name
x
y
flag

у второго елемента есть поле:

name
x
y
flag


и т.д.

ну вот создешь об"єкт (в виде функции, ведь все класьі в Флеш передаются функциями)
И городиш из него одномерньій масив

function Element (a1,a2,a3,a4)
{
this.name =a1;
this.x =a2;
this.y =a3;
this.flag =a4;
//в етих строчках присваеваешь своим полям переданньіе значения

}

Spysok = new Array(); //созд. массив с именем Spysok

//заполнять такой масив надо СОЗДАНИЕМ конкретного екземпляра об"єкта.

Spysok [0] = new Element ("Litak1",25,120,true);
Spysok [1] = new Element ("Litak2",2,150,false);
Spysok [2] = new Element ("Muha",205,10,true);

//но ето можешь и в цикле делать, откуда то читая даньіе.

//доступ к елементам масива:

imia = Spysok [i] ["name "];
Xcoord = Spysok [i] ["x "];
Ycoord = Spysok [i] ["y "];
status = Spysok [i] ["flag "];

urca 09.11.2003 01:46

Вроде понял... попробую...

А вот еще такой вопросец:
Можно ли из текстового файла считать данные в массив.. Если да то как? я пробовал и.....
Можно ли как-ни-ть , как сделать так, щоб можно было прочитать данные из ОДНОГО
текстового файла,
чтобы Флэш их воспринимал как элементы МАССИВА ...
Сразу говорю текстовый файл такого вида
a[1]="b"&a[2]="c"&a[3]="d"
и
a.1="b"&a.2="c"&a.3="d"

пробовал..
Смотрел в Дебуггере -> список переменніх, похоже что Флєш воспринимает их как переменные
вида a[1] и a.1
но НЕ как ЭЛЕМЕНТЫ МАССИВА a (a=["a","b","c","d".....])

Очень желательно как-то прочитать сразу в массив из текстового файла....

ВСем С-пасибо!

Igor Ageyev 09.11.2003 02:29

Тебе XML юзать надо. Твою задачу можно решить без использования массивов.

Исходников и уроков по данному вопросу в инете просто море;)


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

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