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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.09.2011, 15:12
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 1  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
По умолчанию Обращение к объекту в двумерном массиве

Здравствуйте!

Есть у меня задача хранить где-то список из уникальных объектов. Решил создать двумерный массив типа (id, объект).
Код AS3:
var arr:Array = new Array();
arr.push([256, obj]);
arr.push([26, obj]);
arr.push([9, obj]);
Как мне обратиться к объекту с нужным id?
Примерно что-то вроде
Код AS3:
arr[arr.indexof(256)][1].visible = true;
Или может есть более простое решение для хранения таких данных?

Старый 10.09.2011, 15:54
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 2  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
в вашем случае подойдет обычный Object.

Код AS3:
var hash : Object = {};
 
hash[id] = object;
соответственно получать так же

Код AS3:
object = hash[id];
__________________
Блог, Twitter
Брюзга.

Старый 10.09.2011, 17:18
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 3  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
Благодарю!
Это решило мою проблему. Раньше я запихивал объекты в одномерный массив с индексом равному id. Соответственно даже если был один элемент в массиве, но с индексом 2526, массив был огромен и только последний элемент представлял ценность.

Добавлено через 1 час 17 минут
Кстати как управлять созданным объектом с точки зрения освобождения памяти?
Если я буду постоянно добавлять id к объекту, а их у меня будет множество (3-8 порядков), то мне как-то надо будет отчищать этот объект? Дело в том что раньше я добавлял (push) и отчищал (slice) одномерный массив. Как теперь быть?
Код AS3:
hash[id] = {}
так?

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Кажется так:
Код AS3:
delete hash[id];

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

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

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


 


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


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