有没有人知道如何访问Action脚本(String,Array,Math ...)中可用的所有类及其函数和变量的名称。
我正在构建某种代码编辑器,我想在其中实现代码辅助。我正在使用Flash构建器。我的意思是,毕竟,当你说:
var a:String = String.valueOf(12345);
然后flash builder必须知道“String”和“valueOf”的含义,那么有没有办法访问这些信息呢?
答案 0 :(得分:1)
Adobe在ActionScript 3.0 Reference for the Adobe Flash Platform中提供了有关其软件包的完整文档。
Adobe®Flash®Platform的ActionScript®3.0参考 包含ActionScript语言元素,核心库和 工具,运行时,服务和组件的组件包和类 Flash平台中的服务器。
否则,你可以从playerglobal.swc中找到describeType()
个包。
生成一个描述名为的ActionScript对象的XML对象 方法的参数。该方法实现了编程 ActionScript语言的反射概念。
值参数可以是实例或类类型。
例如:describeType(new MovieClip());
如果value参数是类型的实例,则返回XML object包括该类型的所有实例属性,但不包括 包括任何静态属性。您可以在何时检查此情况 您通过检查
<type>
标记的值来解析XML对象isStatic
属性,当value参数为false时为false 一个类型的实例。
按类型:describeType(MovieClip);
要获取类型的静态属性,请传递类型本身 值参数。返回的XML对象不仅包括 type的静态属性,以及它的所有实例属性。该 实例属性嵌套在名为
<factory>
的标记内 将它们与静态属性区分开来。在这种情况下,isStatic
标记的<type>
属性为true。
例如,要获取内容辅助/智能感知实现的所有类型的变量和访问器,您可以:
/**
* Returns variables and accessors
*/
public function properties(value:*):XMLList
{
var xml:XML = describeType(value);
return (xml..variable + xml..accessor);
}