Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.12.2001, 14:05
AlexSm вне форума Посмотреть профиль Отправить личное сообщение для AlexSm Найти все сообщения от AlexSm
  № 1  
AlexSm
 
Аватар для AlexSm

Регистрация: Aug 2001
Адрес: Москва
Сообщений: 275
По умолчанию Помогите с массивами.

Надо на 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

Ну и так далее

Идея ясна я думаю.
Я в Актион скрипте не силен. Только пытаюсь его на понт взять. Может кто наставит на путь истинный.

Или здесь вообще надо подругому делать

Спасибо!

Старый 06.12.2001, 14:20
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 2  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
В общем довольно верно мыслишь Должно работать.
Иногда и на понт получается
__________________
Дешевый критикан

Старый 06.12.2001, 14:26
AlexSm вне форума Посмотреть профиль Отправить личное сообщение для AlexSm Найти все сообщения от AlexSm
  № 3  
AlexSm
 
Аватар для AlexSm

Регистрация: Aug 2001
Адрес: Москва
Сообщений: 275
По умолчанию Да, может мыслю и верно, но как в массив массив положить ?

Как массив в массив положить ?
Тоесть есть массив К[][],
как его сделать доступным из Т[i][t] ?
Есть способ ?

Старый 06.12.2001, 14:34
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 4  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
Способ есть, его не может не быть

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();
__________________
Дешевый критикан

Старый 06.12.2001, 15:13
AlexSm вне форума Посмотреть профиль Отправить личное сообщение для AlexSm Найти все сообщения от AlexSm
  № 5  
AlexSm
 
Аватар для AlexSm

Регистрация: Aug 2001
Адрес: Москва
Сообщений: 275
По умолчанию Ээээ .... Все это конечно здорово.

А что-то вроде указателей есть тут ?
Я вот извратился, написал через 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]);
}
}


Последний раз редактировалось AlexSm; 06.12.2001 в 15:18.
Старый 06.12.2001, 15:22
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 6  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
Указатель есь

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);
__________________
Дешевый критикан


Последний раз редактировалось gOloVasTicK '~; 06.12.2001 в 15:23.
Старый 06.12.2001, 17:53
AlexSm вне форума Посмотреть профиль Отправить личное сообщение для AlexSm Найти все сообщения от AlexSm
  № 7  
AlexSm
 
Аватар для AlexSm

Регистрация: Aug 2001
Адрес: Москва
Сообщений: 275
По умолчанию Нет Я не понимаю

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={}

Старый 06.12.2001, 18:36
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 8  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
variables = {}; == variables = new Object();
Так просто писать короче
Можно вообще без объявления обойтись, но эт не правильно
__________________
Дешевый критикан

Старый 06.12.2001, 20:25
AlexSm вне форума Посмотреть профиль Отправить личное сообщение для AlexSm Найти все сообщения от AlexSm
  № 9  
AlexSm
 
Аватар для AlexSm

Регистрация: Aug 2001
Адрес: Москва
Сообщений: 275
По умолчанию Еще вопрос Чуть не в тему.

Eval () ???

Вопрос такой.
Есть у меня мувик MC
хочу сделать такую весч:

myCommand="_root.MC._x=100";
eval(myCommand);

Пачаму НЕ_Работает ?
Как надо, чтобы заработалО ?

Спасибо!

Старый 06.12.2001, 20:53
gOloVasTicK  '~ вне форума Посмотреть профиль Отправить личное сообщение для gOloVasTicK  '~ Посетить домашнюю страницу gOloVasTicK  '~ Найти все сообщения от gOloVasTicK  '~
  № 10  
gOloVasTicK '~
виртуальное земноводное
 
Аватар для gOloVasTicK  '~

Регистрация: Mar 2001
Адрес: на работе
Сообщений: 1,779
Отправить сообщение для gOloVasTicK  '~ с помощью ICQ Отправить сообщение для gOloVasTicK  '~ с помощью AIM Отправить сообщение для gOloVasTicK  '~ с помощью Yahoo
У меня пашет в таком виде:
my = "_root.x";
eval(my)=100;
__________________
Дешевый критикан

Создать новую тему   Часовой пояс GMT +4, время: 06:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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