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

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

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
_namesArray = [myhero, fish, turbo];
...
var mc:MovieClip = new _namesArray[i];
__________________
Reality.getBounds(this);

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

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

Старый 27.04.2010, 03:08
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 13  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну об этом ведь речи не было. Для таких случаев и существует getDefinition, но никак не для
Код AS3:
var a:uint = 1;
var b:uint = 2;
var c:uint = 3;
var array:Array = ["a", "b", "c"];
// о боже, как мне узнать значение переменной с именем из массива, под индексом 2?
__________________
Reality.getBounds(this);

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

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

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

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
gashhik, не в коем случаи не делайте так как делает mickfallout.
А в чём ошибка моего метода?

Старый 27.04.2010, 11:22
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 16  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
mickfallout, всё у вас хорошо. прошу прощения. я сперва не заметил одну строчку. у вас даже самый правильный вариант, и самый быстрый. просто оформлен коряво.

Старый 27.04.2010, 11:27
gashhik вне форума Посмотреть профиль Отправить личное сообщение для gashhik Посетить домашнюю страницу gashhik Найти все сообщения от gashhik
  № 17  
Ответить с цитированием
gashhik
 
Аватар для gashhik

Регистрация: Jul 2003
Адрес: Kiev
Сообщений: 77
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Код AS3:
_namesArray = [myhero, fish, turbo];
...
var mc:MovieClip = new _namesArray[i];
Кстати так я сделал изначально и это не сработало
__________________
Immortal

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

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
просто оформлен коряво.
хм, а с оформлением что не так?

Добавлено через 1 минуту
а, вроде нашёл... вместо
//если в хранилище MovieClip'ов под таким именем уже что-то есть
надо было написать
//если в хранилище MovieClip классов под таким именем уже что-то есть
__________________
Могу ошибаться... =)

Старый 27.04.2010, 13:16
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 19  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
написать, что типа этого, было бы логичнее:
Код AS3:
		private static const _HASH:Object = new Object();
 
		public static function getClass(name:String):Class {
			var c:Class = _HASH[ name ];
			if ( !c ) {
				c = resourcesLoader.content.loaderInfo.applicationDomain.getDefinition( name ) as Class;
				_HASH[ name ] = c;
			}
			return c;
		}
а у Вас целый букет быдлокода:
1. static до нэймспэйса.
2. название переменной MovieClipsClassesObject с большой буквы.
3. не понятно почему оно является переменной, а не константой.
4. если приватная, то почему без подчёркивания?
5. объект создаёте через литерал { }, а не через new Object(). советую второй вариант.
6. метод называется newMovieClip а параметром передаётся imageName.
7. с названиями в принципе беда: MovieClipsClassesObject, movieClipsClass. непонятно.
8. в качестве результат возвращается экземпляр MovieClip, что само по себе плохо. а что, если вам нужно будет сделать наследника спрайта? или битмапа? или ещё чего угодно? напишите ещё один такой же метод?
9. возвращаете Вы готовый экземпляр, но опираясь на пункт 7, возникает вопрос: а что если надо будет передать параметр в конструктор класса?
10. непонятно откуда берётся resourceLoader, и почему он один. а если подгружаемых библиотек будет много?

на счёт пункта 1 и 4, многие со мной не согласятся. я не очень настаиваю.

Старый 27.04.2010, 13:55
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 20  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
gashhik, это решение предполагает наличие и доступность данных классов. Если это просто имена объектов в библиотеке, я не смогу помочь - не работаю с ИДЕ.
Да, ассоциативный массив был у меня в мыслях тоже))
__________________
Reality.getBounds(this);

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

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

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


 


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


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