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

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

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

Регистрация: Dec 2012
Сообщений: 9
По умолчанию Создание экземпляров классов циклом

Здравствуйте. Не могу найти решение проблемы, даже не знаю как правильно сформулировать запрос. В общем, имеется несколько однотипных классов, у которых имена отличаются только цифрами Loc0, Loc1, Loc2 и тд. Я хочу создать массив, в котором каждый элемент будет соответствовать экземпляру кажого класса, то есть:
locs[0] = new Loc0(); locs[1] = new Loc1(); locs[2] = new Loc2(); и тд. Проблема в том, что не получается создать все это одним циклом, код не работает
Код AS3:
for (var i:int = 0; i < 10; i++)
{
     locs[i] = new ['Loc' + i];
}
выдает ошибку TypeError: Error #1007: Попытка реализации в объекте, который не является конструктором.

я не понимаю как правильно записать это составное имя класса, чтобы в имени менялась только цифра, пробовал и
Код AS3:
locs[i] = new ['Loc' + i]as Class;
и
Код AS3:
locs[i] = new ['Loc' + i]();
и
Код AS3:
locs[i] = new ['Loc' + i + '()'];
Никак ума не приложу, как это делается.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
getDefinitionByName()
а тут с примером по-лучше

Старый 13.10.2013, 11:57
rdr144 вне форума Посмотреть профиль Отправить личное сообщение для rdr144 Найти все сообщения от rdr144
  № 3  
Ответить с цитированием
rdr144

Регистрация: Dec 2012
Сообщений: 9
Большое спасибо!

Старый 13.10.2013, 16:56
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 4  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
подход дилетанский и неверный.
нумеровать классы неправильно.
создайте метод с id

Старый 13.10.2013, 20:46
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 5  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
создайте метод с id
А можно немножечко подробней? я уже слышал про id, но так и не развил тему до полнейшего понимая.
Как раз сейчас я делаю фабрику и было бы лучше узнать всё до конца, а пока делаю вот как -
в фабрике есть метод с id:uint в параметрах. Так же есть класс с константами, которые хранят ссылки на классы. В самой фабрике есть таблица обжект где в качестве ключа id, а в качестве значения константа.
Это так делают или пишут id в самих классах?

Старый 13.10.2013, 20:53
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 6  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
встроенных id у объектов в as3 нет

Старый 14.10.2013, 00:15
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
dictionary[id] = class
__________________
Марк Tween

Старый 14.10.2013, 00:18
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
in4core Спасибо!

Старый 14.10.2013, 00:28
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Akopalipsis - прежде чем настоятельно использовать фабрику, убедитесь - что она действительно нужна. Какой у вас случай?
__________________
Марк Tween

Старый 14.10.2013, 00:42
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 10  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
in4core как всегда - в целях самообразования!)
Хотел спросить, что в ней такого.. Но сам догадался, что это для более больших проектов.
И у неё есть жуткий недостаток - не видно свойств возвращаемых классов.
Но вот её предназначение я наверное строчками выше занизил. Большими проектами я даже не грежу, но если рассматривать её как выдачу сюриализованных данных, то можно уже сейчас к ней привыкать.

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

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

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


 


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


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