Форум 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=35754)

greep 14.08.2002 00:25

Массивы, приемущества и недостатки
 
Кто что знает пишите,
Буду рад любым заметкам и пояснениям,
С ув,
Greep

DeliMIter 15.08.2002 16:21

Fouly
 
2greep

Массивы нужны для хранения индексированных данных. Кроме того, являясь наследниками объекта, массивы сохраняют все их свойства, чего, кстати, нету в языках высокого уровня. Элементами массива могут быть ЛЮБЫЕ данные: переменные, строки, мувики, звуки и даже другие массивы. В свете всего вышесказанного я призываю прочитавших это бросить битье головой об стену в использовании непонятных переменных, и немедленно переходить на массивы!!

Хыхыхы :D

greyshaman 15.08.2002 16:31

// DeliMIter ;)
fs=[[],[],[],[],[],[[]],[[]],[]];
for(i=0;i<=4;i++){
fs[5][i]=new Array(24);
fs[6][i]=new Array(24);}
_root.onEnterFrame =function (){
this.clear();
for(i=0;i<=4;i++){
if((fs[1][i]++)==fs[2][i]){
fs[2][i]=random(6)+6;
fs[3][i]=random(9)+3;
fs[4][i]=random(3)-1;
fs[1][i]=0;}
fs[5][i].unshift(fs[5][i][1]+4*Math.cos((fs[7][i]+=fs[4][i]*fs[3][i])*0.0174532925199433));
fs[6][i].unshift(fs[6][i][1]+4*Math.sin(fs[7][i]*0.0174532925199433));
if(200<Math.sqrt ( (fs[5][i][1])*(fs[5][i][1])+(fs[6][i][1])*(fs[6][i][1]) )){
fs[5][i][1]=fs[6][i][1]=0;}
if(fs[5][i].pop()!=fs[6][i].pop()+1000)s=0;
do{
lineStyle((50-s*2)/5,0xddff99,(120-s*4));
moveTo((fs[5][i][s]+200),(fs[6][i][s]+200));
lineTo((fs[5][i][s]+200.25),(fs[6][i][s]+200.25));
}while(fs[5][i].length>s++)
}
}

greep 15.08.2002 18:02

У меня есть текстовый файл, в котором куча переменных, к примеру по пяти семьям:
Семья №1
1) Кол-во членов семьи
2) Их общая масса в кг
3) Их общий возраст

И так по каждой семье...

Как я могу предположить в тхт это выглядит примерно так:

ivanovs_kol-vo=5&ivanovs_mass=350&ivanovs_age=270& и.д.
По каждой семье.

Как я понимаю, во влешовом роллике будет 5 массивов(по каждой семье).

И когда я нажимаю кнопку мувик "familes" переходит в кадр (к примеру "ivanovs" в котором 3 текстовых поля:
1) kol-vo
2) mass
3) age

В действиях кадра ivanovs вписано что-то вроде вставь масств ivanovs.

Все тоже в кадре Petrovs, Sidarovs...

... А теперь пару вапросов:
1) Как подгрузить переменники и разбить их по массивам.
2) Как нужный массив вставить в нужный кадр
3) Какие названия нужно приминять к текстовым полям находящимся в кадре ivanovs

Убедительная прозьба, пожалуйста напишите исходник.
Я по себе знаю таких непонимающих людей как я очень много.
В дальнейшем этот урок могбы пригодиться очень многим.

Заранее благодарен за все,
С ув,
Greep

greyshaman 15.08.2002 18:26

В твоей постановке массивы, .... , не нужны.
Поиск тебе в помощь.

DeliMIter 16.08.2002 12:33

2 greyshaman

Посмотрел я твой код, очень неплохо, надо сказать :D Правда я позволил себе в нем еще порыться и вот что вышло...
Код:

// greyshaman  :cool:
fs = [[], [], [], [], [], [[]], [[]], [], _root, "onEnterFrame", 0, 5, undefined, "clear", undefined, "unshift", "pop", "length", Math, "sin", "cos", "sqrt", "lineStyle", "moveTo", "lineTo"];

for (fs[12]=fs[10]; fs[12]<fs[11]; fs[12]++) {
 fs[5][fs[12]]=new Array(24);
 fs[6][fs[12]]=new Array(24);
}

fs[8][fs[9]] = function() {
 fs[8][fs[13]]();
 for (fs[12]=fs[10]; fs[12]<fs[11]; fs[12]++) {
  if ((fs[1][fs[12]]++) == fs[2][fs[12]]) {
  fs[2][fs[12]]=random(6)+6;
  fs[3][fs[12]]=random(9)+3;
  fs[4][fs[12]]=random(3)-1;
  fs[1][fs[12]] = fs[10];
  }
  fs[5][fs[12]][fs[15]](fs[5][fs[12]][1]+4*fs[18][fs[20]]((fs[7][fs[12]]+=fs[4][fs[12]]*fs[3][fs[12]])*0.0174532925199433));
  fs[6][fs[12]][fs[15]](fs[6][fs[12]][1]+4*fs[18][fs[19]](fs[7][fs[12]]*0.0174532925199433));
  if (200<fs[18][fs[21]]((fs[5][fs[12]][1])*(fs[5][fs[12]][1])+(fs[6][fs[12]][1])*(fs[6][fs[12]][1]))) {
  fs[5][fs[12]][1]=fs[6][fs[12]][1] = fs[10];
  }
  if (fs[5][fs[12]][fs[16]]() != fs[6][fs[12]][fs[16]]()+1000) fs[14] = fs[10];
  do {
  fs[8][fs[22]]((50-fs[14]*2)/5,0xddff99,(120-fs[14]*4));
  fs[8][fs[23]]((fs[5][fs[12]][fs[14]]+200),(fs[6][fs[12]][fs[14]]+200));
  fs[8][fs[24]]((fs[5][fs[12]][fs[14]]+200.25),(fs[6][fs[12]][fs[14]]+200.25));
  } while (fs[5][fs[12]][fs[17]] > fs[14]++);
 }
}


greyshaman 16.08.2002 12:46

:)

RDA 16.08.2002 12:55

:D :D :D :D

greyshaman 16.08.2002 13:03

2greep Надеюсь что теперь ты разберешся, для чего нужны такие "[]" ковычки :D :D :D

DeliMIter 16.08.2002 13:37

Я думаю, что после наших бредней greep решит, что лучше почитать про массивы в хелпе, а не спрашивать у маньяков...


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

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