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

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

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

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
вообщем есть 10 - 20 принципиально разных классов, экземпляры которых описываются в xml и по описанию создаются. Причём хочется иметь возможность добавлять классы не изменяя того класса, в котором создаются экземпляры этих самых классов. Очень-уж неохота лезть в написаный код.
Таким образом будет достаточно написать класс, прицепить его с помощью mtasc к swf-ке и описать его экземпляры в xml, не затрагивая другие классы
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

Старый 11.06.2005, 21:09
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 12  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Как вариант
Код:
/**
 *	
 *	@author	Nirth
 *	@version	0.0.2
 */
class orange.utils.Importer
{
        /**
         *	imports classes to the SWF
         *	@usage	        orange.utils.Importer.doImport(package1.Class1,package2.Class2 etc);
         *	@return	        nothing
         */
	public static function doImport ():Void
	{
		orange.utils.Importer.__getFields (arguments);
	}
	private static function __getFields (args : Array) : Array
	{
		var result : Array = new Array ();
		for (var item : String in args)
		{
			//trace(args[item]);
			for (var field : String in args [item])
			{
				result.push (args [item][field]);
				
				//break;
				
			}
		}
		return result;
	}
}
В классе есть лишний метод, это я себе оставил маневр для апгрейда, вообще все можно сократить до одного
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^


Последний раз редактировалось Nirth; 11.06.2005 в 21:24.
Старый 11.06.2005, 21:11
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 13  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Nirth представь момент что ты заранее не знаешь что это будеть new x.a.s.Class1 или new x.a.s.Class2
Сделаю класс прокси, который будет решать что создавать.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 11.06.2005, 21:13
AlDev вне форума Посмотреть профиль Отправить личное сообщение для AlDev Посетить домашнюю страницу AlDev Найти все сообщения от AlDev
  № 14  
Ответить с цитированием
AlDev
 
Аватар для AlDev

Регистрация: Jun 2005
Адрес: Ru, irk
Сообщений: 92
Отправить сообщение для AlDev с помощью ICQ Отправить сообщение для AlDev с помощью MSN Отправить сообщение для AlDev с помощью Yahoo
с аргуентами решил не заморачиваться, а передавать всё в одном object конструктору, а он уже сам разберёться
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде
---
my blog:
http://batsuev.com/wp/

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

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
Цитата:
Сообщение от Nirth
Сделаю класс прокси, который будет решать что создавать.
ну тогда не надо синтаксиса this ['a' + 'b'] создадим функцию прокси, которая будет решать что создавать
__________________
:::::::::::: sump ::::::::::::

Старый 11.06.2005, 21:20
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 16  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
вот именно, а откуда this['a'+'b'] ?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
Цитата:
Сообщение от Nirth
Как вариант
Код:
/**
 *	
 *	@author	Nirth
 *	@version	0.0.2
 */
class orange.utils.Importer
{
        /**
         *	imports classes to the SWF
         *	@usage	        orange.utils.doImport(package1.Class1,package2.Class2 etc);
         *	@return	        nothing
         */
	public static function doImport ():Void
	{
		orange.utils.Importer.__getFields (arguments);
	}
	private static function __getFields (args : Array) : Array
	{
		var result : Array = new Array ();
		for (var item : String in args)
		{
			//trace(args[item]);
			for (var field : String in args [item])
			{
				result.push (args [item][field]);
				
				//break;
				
			}
		}
		return result;
	}
}
В классе есть лишний метод, это я себе оставил маневр для апгрейда, вообще все можно сократить до одного
импортировать типа такого?
orange.utils.doImport (package1.Class1,package2.Class2);

или так?
orange.utils.doImport ('package1.Class1','package2.Class2');
__________________
:::::::::::: sump ::::::::::::

Старый 11.06.2005, 21:23
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 18  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
orange.utils.Importer.doImport(package1.Class1) и тд.
извиняюсь сделал ошибку в коментариях сейчас подправлю.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 11.06.2005, 21:27
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 19  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
Объясни мне тупому тогда как именно твой класс импортирует?

З.Ы. попробуй создать пустой файл фла, в нем единственную строчку
Код:
mx.events.EventDispatcher
и посмотри через дебагер импортировался ли класс mx.events.EventDispatcher?
__________________
:::::::::::: sump ::::::::::::

Старый 11.06.2005, 21:31
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 20  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
В первом кадре пишем
Код:
orange.utils.Importer.doImport(mx.controls.CheckBox,mx.controls.DataGrid);
тестируем мувик, и смотрим переменные
Цитата:
Global Variables:
Variable _global.mx = [object #1, class 'Object'] {
core:[object #2, class 'Object'] {
UIObject:[function 'symbolOwner'],
UIComponent:[function 'symbolOwner'],
View:[function 'ViewDependency'] {
prototype:[object #6] {
loadExternal:[function 'loadExternal'],
prepareToLoadMovie:[function 'prepareToLoadMovie'],
waitForUnload:[function 'waitForUnload'],
checkLoadProgress:[function 'checkLoadProgress'],
contentLoaded:[function 'contentLoaded']
}
},
ExternalContent:[function 'ExternalContent'],
ScrollView:[function 'symbolOwner']
},
skins:[object #14, class 'Object'] {
SkinElement:[function 'SkinElement'],
Border:[function 'symbolOwner'],
RectBorder:[function 'symbolOwner'],
CustomBorder:[function 'symbolOwner']
},
styles:[object #19, class 'Object'] {
CSSTextStyles:[function 'CSSTextStylesDependency'],
CSSStyleDeclaration:[function 'CSSStyleDeclaration'],
StyleManager:[function 'StyleManager']
},
controls:[object #23, class 'Object'] {
SimpleButton:[function 'symbolOwner'],
Button:[function 'symbolOwner'],
CheckBox:[function 'symbolOwner'],
scrollClasses:[object #27, class 'Object'] {
ScrollBar:[function 'ScrollBar'],
ScrollThumb:[function 'ScrollThumb']
},
listclasses:[object #30, class 'Object'] {
DataSelector:[function 'DataSelector'],
DataProvider:[function 'DataProvider'],
ScrollSelectList:[function 'ScrollSelectList'],
SelectableRow:[function 'SelectableRow']
},
List:[function 'symbolOwner'],
DataGrid:[function 'symbolOwner'],
gridclasses:[object #37, class 'Object'] {
DataGridColumn:[function 'DataGridColumn'],
DataGridRow:[function 'DataGridRow']
},
TextInput:[function 'symbolOwner']
},
managers:[object #41, class 'Object'] {
DepthManager:[function 'DepthManager']
},
events:[object #43, class 'Object'] {
EventDispatcher:[function 'evtDipatcher'],
UIEventDispatcher:[function 'UIEventDispatcher']
},
effects:[object #46, class 'Object'] {
Tween:[function 'Tween']
}
}
Variable _global.orange = [object #48, class 'Object'] {
utils:[object #49, class 'Object'] {
Importer:[function 'Importer']
}
}
Level #0:
Variable _level0.$version = "WIN 7,0,19,0"
Movie Clip: Target="_level0.reserved"
с EventDispatcherom такая же история.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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