![]() |
|
||||||||||
|
|
|
|||||
|
хмм... а если нет возможности создать по экземпляру класса?
каким образом тогда можно это обойти?
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
4AM Games
|
как я уже сказал я не понял сути вопроса, тебе нужно создать в условиях AS1 класс написанный на AS2 ? если так то возможнсть уже присутствует(ибо тебе придеться выбрать в настройках AS2 для Flash 6 или 7) ...или я не догоняю?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
причем тут в условиях ас1 классы ас2??? человек хочет иметь возможность по названию класса создать объект! это как раз чистый ас2
ну проблемы ты правильно указал, если нету явного упоминания класса, его и не будет в результируещем свф, так что либо в библиотеки создать пустые мувы, которые будут связаны с теми классами которые нужны или запихнуть в свф все нужные классы через мтаск - мне так кажется ![]()
__________________
:::::::::::: sump :::::::::::: |
|
|||||
|
так и думал, что придётся извращаться
![]() спасибо за идею с mtasc да и ещё один тупой вопрос из той-же серии.... как получить аргументы, передаваемые функции, достаточно просто и понятна (через arguments). А вот как эти аргументы потом передать конструктору класса в текущей функции? то есть юзание var a = getInstanceOf("classes.map.layers.landscape",val1,val2); было-бы эквивалентно var a = new classes.map.layers.landscape(val1,val2);
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
4AM Games
|
Цитата:
и всеже я до сих пор не врубаюсь, зачем все это, если можно написать new package.Class(); |
|
|||||
Nirth представь момент что ты заранее не знаешь что это будеть new x.a.s.Class1 или new x.a.s.Class2 через функшн.апли тоже не пройдет, не тот случай, я думаю тебе просто надо будет написать эквивалент оператора new
__________________
:::::::::::: sump :::::::::::: |
|
|||||
|
4AM Games
|
Как вариант
/**
*
* @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. |
|
|||||
|
4AM Games
|
Цитата:
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
вообщем есть 10 - 20 принципиально разных классов, экземпляры которых описываются в xml и по описанию создаются. Причём хочется иметь возможность добавлять классы не изменяя того класса, в котором создаются экземпляры этих самых классов. Очень-уж неохота лезть в написаный код.
Таким образом будет достаточно написать класс, прицепить его с помощью mtasc к swf-ке и описать его экземпляры в xml, не затрагивая другие классы
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
|
|||||
|
с аргуентами решил не заморачиваться, а передавать всё в одном object конструктору, а он уже сам разберёться
![]()
__________________
Infernal error: чёрт сломал ногу, пытаясь разобраться в вашем коде --- my blog: http://batsuev.com/wp/ |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:10. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|