![]() |
Помогите с массивами.
Надо на ActionScripte такое написать:
butts="1,All About Flash,,;1_1,Flash,,;1_2,Macromedia,,;1_3,Design,,;1_4,My Site Link,http://mysite.com;2,All About Perl,,;3,All About CGI,,;" ConvertAndCreate(butts); function ConvertAndCreate (strData) { arrData = strData.split(";"); // Разделим на куски в которых лежат толи кнопки толи субменюхи arrData.reverse(); for (i in arrData){ ItemData = arrData[i].split(","); trace ("=> "+ItemData[0]+" => "+ItemData[1]+" => "+ItemData[2]); Number = ItemData[0].split("_"); // Если есть линк - то это кнопка линковая если нету, то субменюха if (ItemData[2] != ""){ trace("Link" ); } else{ trace("Submenu" ); } } } Как видно, из верхней сроки, идея в том, что имена кнопок и субменюх первого эшелона 1 link 2 link 3 SUBMENU 4 5 Второго эшелона X_1,X_2,X_3, тоесть допустим 3-SUBMENU тогда внутри 3_1 link 3_2 SUBMENU 3_3 link Если третий взять то 3_2_1 3_2_2 и т.д Теперь хочется сделать массив Buttons так чтобы Buttons[1][0] = "http://...." //Link 1 Buttons[2][0] = "http://...." //Link 2 Buttons[3][0] = Ссылка намассив где все точно так-же. //Submenu Buttons[1][1] = "mc1" //Имя мувика Buttons[2][1] = "mc2" Buttons[3][1] = "mc3" Buttons[1][2] = _x Buttons[2][2] = _x Buttons[3][2] = _x Ну и так далее Идея ясна я думаю. Я в Актион скрипте не силен. Только пытаюсь его на понт взять. Может кто наставит на путь истинный. Или здесь вообще надо подругому делать Спасибо! |
В общем довольно верно мыслишь :) Должно работать.
Иногда и на понт получается :D |
Да, может мыслю и верно, но как в массив массив положить ?
Как массив в массив положить ?
Тоесть есть массив К[][], как его сделать доступным из Т[i][t] ? Есть способ ? |
Способ есть, его не может не быть :D
a=new Array(); a[0]=new Array(); a[0][0]=new Array(); a[0][0][0]="Yeeaaah! 3d array"; Правда для увеличения массива каждый раз нуна будет писать: a[1]=new Array(); a[2]=new Array(); |
Ээээ .... Все это конечно здорово.
А что-то вроде указателей есть тут ?
Я вот извратился, написал через eval, но не работает. Указателей хочу! butts="1,All About Flash,,;1_1,Flash,,;1_2,Macromedia,,;1_3,Design,,;1_4,My Site Link,http://mysite.com;2,All About Perl,,;3,All About CGI,,;" ConvertAndCreate(butts); function ConvertAndCreate (strData) { Buttons=new Array(); z = 0; arrData = strData.split(";"); arrData.reverse(); for (i in arrData){ ItemData = arrData[i].split(","); trace ("=> "+ItemData[0]+" => "+ItemData[1]+" => "+ItemData[2]); Number = ItemData[0].split("_"); mas=""; for (n in Number){ mas=mas+"["+Number[n]+"]"; } trace("MAS="+mas); if (ItemData[2] != ""){ trace("Link" ); eval("Buttons"+mas)=new Array(); eval("Buttons"+mas+[0])="Link"; } else{ trace("Submenu" ); eval("Buttons"+mas)=new Array(); eval("Buttons"+mas+[0])="Submenu"; } } trace("===========Res=============="); trace(Buttons.length); // <-- А размер равен нулю..... Пачаму for (i=1; i<Buttons.length;i++){ trace ("["+i+"] "+Buttons[i][0]); } } |
Указатель есь :)
a=new Array(1,2,3); r={}; r=a; trace(r[0]); trace(r[1]); trace(r[2]); r[0]="Yeaaah! It's pointer! YO!"; trace(r); |
Нет Я не понимаю
a=new Array();
t=new Array(); c={}; // Это что, будет означать, что c - ссылка ? c=t; a[0] =c; // в данном случае, a[0] - ссылка на массив t ? // теперь хочу заполнить массив, лежащий в a[0] p={}; p=a[0]; p[0]="tralalalalala"; //======================= Хочу прочитать r={}; r=a[0]; trace(r[0]); Вроде работает. Но ссылки ли это ? А ссылку на ссылку можно делать ? Я пытаюсь в функцию ссылку передать и ек. и как понимать r={} |
variables = {}; == variables = new Object();
Так просто писать короче :) Можно вообще без объявления обойтись, но эт не правильно ;) :p |
Еще вопрос Чуть не в тему.
Eval () ???
Вопрос такой. Есть у меня мувик MC хочу сделать такую весч: myCommand="_root.MC._x=100"; eval(myCommand); Пачаму НЕ_Работает ? Как надо, чтобы заработалО ? Спасибо! |
У меня пашет в таком виде:
my = "_root.x"; eval(my)=100; |
| Часовой пояс GMT +4, время: 16:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.