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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Oct 2009
Сообщений: 72
По умолчанию Ассоциативный массив...

Всем привет!
Встала такая проблема, что мне надо получить массив, к кэлементам которого можно обращаться по имени.
Например text = myArray["Екатеринбург"]

Такое в PHP и JS я реализовывал с помощью ассоциативных массивов.
Там и push сильно помогал.

Но тут, вот незадача, такой код у меня не работает:
Код AS3:
public var myArray:Array = new Array();
...
myObject.id = tempXML.@text;
myArray[myObject.id] = tempXML.toString(); // складывание в массив
...
myTextField.htmlText = myArray[event.currentTarget.id]; // Так забираю в обработчике клика.
Но компилятор ругается, что не может обратиться к этим свойствам массива...

Помогите пожалуйста.


Последний раз редактировалось _SoWa; 13.11.2009 в 14:40.
Старый 13.11.2009, 14:55
lighto вне форума Посмотреть профиль Отправить личное сообщение для lighto Найти все сообщения от lighto
  № 2  
Ответить с цитированием
lighto
 
Аватар для lighto

Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
хм... а в AS3 можно заполнять массивы без циклов? в РНР я его циклом например заполнял....(асоциативный массив)
__________________
Flex+AS3 good)

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
а обработчик на какой объект повешен?
возможно так:
Код AS3:
myTextField.htmlText = myArray[event.target.id];
__________________
freelance | Раздор

Старый 13.11.2009, 15:00
lighto вне форума Посмотреть профиль Отправить личное сообщение для lighto Найти все сообщения от lighto
  № 4  
Ответить с цитированием
lighto
 
Аватар для lighto

Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
ой напутал не про то подумал извеняюсь
__________________
Flex+AS3 good)

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

Регистрация: Oct 2009
Сообщений: 72
Циклы... не знаю, не знаю. Абодовские мануалы про это не говорят.
Если цикл делать- то из одной итерации..

Код AS3:
myTextField.htmlText = myArray[event.target.id];
Нет, обработчик на клик по МувиКлипу.
Но мне хотя бы сперва в массив сложить значение...
/*В принципе, думаю, можно изобрести велосипед и не использовать ассоциативный массив, а использовать индексный. Но как-то не хочется лишний код плодить*/

Старый 13.11.2009, 15:06
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 6  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Нет, обработчик на клик по МувиКлипу
myObject - это ваш мувиклип?
__________________
freelance | Раздор

Старый 13.11.2009, 15:07
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 7  
Ответить с цитированием
bicubic_bublic
Banned

Регистрация: Sep 2009
Сообщений: 231
массивы используются для хранения элементов с порядковыми номерами.
в вашем случае надо использовать объекты
то бишь
Код AS3:
public var data:Object = {};
далее как вы и писали
Код AS3:
data["blahBlah"] = "valueBlah";
trace(data["blahBlah"]) // valueBlah

Старый 13.11.2009, 15:18
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 8  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
а массив в этом случае ведет себя в точности как объект)
но правильней конечно с объектом в такой ситуации работать...

Добавлено через 3 минуты
http://help.adobe.com/ru_RU/ActionSc...0204-7eea.html
__________________
freelance | Раздор

Старый 13.11.2009, 15:23
_SoWa вне форума Посмотреть профиль Отправить личное сообщение для _SoWa Найти все сообщения от _SoWa
  № 9  
Ответить с цитированием
_SoWa
 
Аватар для _SoWa

Регистрация: Oct 2009
Сообщений: 72
Поправил объявление, теперь Object

1120: Access of undefined property myArray.
Вот такую ошибку выдает при попытке выполнить следующий код:
Код AS3:
myArray[myObject.id] = tempXML.toString();

Старый 13.11.2009, 15:29
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 10  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
да ваша проблема не в том объект это или массив, выложите исходник или полный код
__________________
freelance | Раздор

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

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

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


 


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


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