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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.12.2010, 12:07
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 1  
Ответить с цитированием
SONce
[+1.3 20.12.10]

Регистрация: Nov 2009
Сообщений: 124
По умолчанию Непонятки с массивами

Первый раз плотно столкнулся с мамссивами во флеше и понял что тут совершенно неудобно с ними работать.

нельзя сделать например

Код AS3:
var pesh:Array = [[]];
pesh[2]['active']=0;
хотя в любом другом языке - пожалуйста, приходится применять такие адские костыли что к концу рабочего дня голова просто раскалывается.

Ладно, вот вопрос:

Код AS3:
//создаем этот злощастный массив
var pesh:Array = [[]];
for (var i:int = 0; i < 75; i++){
pesh[i]['active'] = 0;
pesh[i]['id'] = i;
}
конечно ничего не выйдет. Ладно думаю, попробую вывернутся

Код AS3:
//создаем этот злощастный массив
var pesh:Array = [[]];
var tempa:Array = [];
for (var i:int = 0; i < 75; i++){
	tempa['active'] = 0;
	tempa['id'] = i;
	pesh.push(tempa);
}
конечно это тоже не работает. точнее работает но все элементы временного ассива он колотит в 1 элемент массива pesh.
Какже всетаки заполнить этот злощастный массив чтоб в итоге получить:

pesh[0]['active'] = 0;
pesh[0]['id'] = i;

pesh[1]['active'] = 0;
pesh[1]['id'] = i;


Последний раз редактировалось SONce; 21.12.2010 в 12:18.
Старый 21.12.2010, 12:14
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А как на других языках?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 21.12.2010, 12:15
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 3  
Ответить с цитированием
SONce
[+1.3 20.12.10]

Регистрация: Nov 2009
Сообщений: 124
Цитата:
Сообщение от -De- Посмотреть сообщение
А как на других языках?
Ну возьмите пхп тотже. вы легко там сделаете pesh[2]['active']=1; во флеше же вы этого не сделаете, очевидно из за того что такого эоемента нет

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
а это чего такое?
pesh.push();

может так?

Код AS3:
var pesh:Array = [];
var tempa:Array = [];
for (var i:int = 0; i < 75; i++){
	tempa['active'] = 0;
	tempa['id'] = i;
	pesh.push(tempa);
}
даже наверно так:

Код AS3:
var pesh:Array = [];
var tempa:Object= {};
for (var i:int = 0; i < 75; i++){
	tempa['active'] = 0;
	tempa['id'] = i;
	pesh.push(tempa);
}
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью


Последний раз редактировалось cleptoman; 21.12.2010 в 12:20.
Старый 21.12.2010, 12:18
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 5  
Ответить с цитированием
SONce
[+1.3 20.12.10]

Регистрация: Nov 2009
Сообщений: 124
Цитата:
Сообщение от cleptoman Посмотреть сообщение
а это чего такое?
pesh.push();
виноват
pesh.push(tempa);

эксперементировал, забыл добавить. Поправил первый пост.

Старый 21.12.2010, 12:20
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А в других, если уже прям всех?
Ну ладно, раз хоть пхп такое жрёт...
Код AS3:
var pesh:Array = [];
 
for (var i:int = 0; i < 75; i++){
	pesh[i] = new Object();//ИНАЧЕ pesh[i] null/undefined и при попытке доступа по pesh[i][whatever]  ошибка
	pesh[i]['active'] = 0;
	pesh[i]['id'] = i;//шо угодно
 
}
cleptoman, у вас там все элементы массива ссылаются на один другой массив/обьект. Ну т.е. после вашего кода забавные штуки будут, типа
Код AS3:
trace(pesh[0]["id"]);//74 (как так, где же 0?)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 21.12.2010 в 12:24.
Старый 21.12.2010, 12:36
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 7  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
ага. есть такое.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 21.12.2010, 12:37
SONce вне форума Посмотреть профиль Отправить личное сообщение для SONce Найти все сообщения от SONce
  № 8  
Ответить с цитированием
SONce
[+1.3 20.12.10]

Регистрация: Nov 2009
Сообщений: 124
Цитата:
Сообщение от cleptoman Посмотреть сообщение
ага. есть такое.
дада, именно это меня и сподвигло создать тему
-De-, спасибо, ваш способ идеально подходит.

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

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

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


 


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


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