2013-05-13 5 views
0

Кто-нибудь знает, как получить доступ к именам всех классов и их функций и переменных, доступных в скрипте Action (String, Array, Math ...).Доступ к встроенным функциям и именам классов

Я создаю какой-то редактор кода, и я хочу реализовать в нем код. Я использую Flash-конструктор. Я имею в виду, в конце концов, когда и говорят:

var a:String = String.valueOf(12345); 

затем флэш-строитель должен знать, что «String» и означает «valueOf», так есть ли способ получить доступ к этой информации?

+1

[ActionScript® 3.0 Ссылка для платформы Adobe® Flash®] (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html). В противном случае, возможно, через 'describeType', интроспекцию пакетов в playerglobal.swc –

+0

Это звучит неплохо, я попробую, спасибо. –

+0

Я попытался сыграть с описанием типа, но когда я даю ему строку, это просто дает мне следующее: « <параметр индекс = тип "1" = "*" необязательно = "истинный" /> <аксессора имя = "длина" доступ = "только для чтения "type =" int "declBy =" String "/> « Я что-то не так? –

ответ

1

Adobe предоставляет полную документацию для своих пакетов в ActionScript 3.0 Reference for the Adobe Flash Platform.

ActionScript® 3.0 Ссылка для Adobe® Flash® Platform содержит элементы языка ActionScript, основные библиотеки и компонентов пакетов и классов для инструментов, времени работы, услуги и серверов в платформе Flash.

В противном случае вы могли бы describeType() пакетами от playerglobal.swc.

Производит объект XML, который описывает объект ActionScript с именем параметр метода. В этом методе реализована концепция концепции отражение для языка ActionScript.

Параметр параметра может быть экземпляром или типом класса.

К примеру: describeType(new MovieClip());

Если параметр значение является экземпляром типа, возвращаемый XML-объект включает в себя все свойства экземпляра этого типа, но не включать в себя любые статические свойства. Вы можете проверить это условие, когда вы анализируете объект XML, изучая значение атрибута <type> тега isStatic, что является ложным, если параметр значения является экземпляром типа.

По типу: describeType(MovieClip);

Чтобы получить статические свойства типа, пройти сам тип для значение условия. Возвращенный объект XML включает не только статические свойства типа , но и все его свойства экземпляра. Свойства экземпляра вложены внутри тега с именем <factory> в , чтобы отличить их от статических свойств. В этом случае атрибут isStatic тега <type> является истинным.

Например, чтобы получить все переменные и аксессор типа для вашего контента содействия осуществлению/IntelliSense, вы можете:

/** 
* Returns variables and accessors 
*/ 
public function properties(value:*):XMLList 
{ 
    var xml:XML = describeType(value); 
    return (xml..variable + xml..accessor); 
} 
+0

Так как я хотел бы избежать копирования вставки данных из справочных руководств, я попробую описатьType, но я попробовал описатьType (new String («sometext»)). ToString() ;, и только получил это: string = " ", что я делаю неправильно? –

+0

Ответ расширен. Опишите тип introspects/отражает, создавая структуру XML, которую вы будете анализировать. Таким образом, для функции content assist/intellisense вашему редактору нужно будет анализировать эти данные для функций, переменных, аксессуаров или других членов, которые вы хотите завершить автоматически. –

+0

Но когда я пишу ''describeType (новая строка (" sometext "));', я получаю гораздо меньше информации, чем мне нужно, я не получаю никаких переменных, только 1 accessor (я получаю длину), я не получаю фабрику , я не получаю никаких методов. Должно быть, что-то я делаю неправильно, но idk, что, кстати. писать '' describeType (String); 'дает мне более или менее то же самое –

Смежные вопросы