`
鹤惊昆仑
  • 浏览: 230334 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ActionScript 类型反射

阅读更多
import flash.utils.describeType;

trace(describeType(flash.net.NetStream));

以debug模式运行,在console控制台会打印输出NetStream的所有属性和方法(需保证安装的是debugger版本的 flash 播放器):
<type name="flash.net::NetStream" base="Class" isDynamic="true" isFinal="true" isStatic="true">
  <extendsClass type="Class"/>
  <extendsClass type="Object"/>
  <constant name="DIRECT_CONNECTIONS" type="String"/>
  <constant name="CONNECT_TO_FMS" type="String"/>
  <accessor name="prototype" access="readonly" type="*" declaredBy="Class"/>
  <factory type="flash.net::NetStream">
    <metadata name="Event">
      <arg key="name" value="onPlayStatus"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="onCuePoint"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="onTextData"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="onImageData"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="onMetaData"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="onXMPData"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="netStatus"/>
      <arg key="type" value="flash.events.NetStatusEvent"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="ioError"/>
      <arg key="type" value="flash.events.IOErrorEvent"/>
    </metadata>
    <metadata name="Event">
      <arg key="name" value="asyncError"/>
      <arg key="type" value="flash.events.AsyncErrorEvent"/>
    </metadata>
    <extendsClass type="flash.events::EventDispatcher"/>
    <extendsClass type="Object"/>
    <implementsInterface type="flash.events::IEventDispatcher"/>
    <constructor>
      <parameter index="1" type="*" optional="false"/>
      <parameter index="2" type="*" optional="true"/>
    </constructor>
    <accessor name="time" access="readonly" type="Number" declaredBy="flash.net::NetStream"/>
    <method name="togglePause" declaredBy="flash.net::NetStream" returnType="void"/>
    <accessor name="bytesLoaded" access="readonly" type="uint" declaredBy="flash.net::NetStream"/>
    <accessor name="currentFPS" access="readonly" type="Number" declaredBy="flash.net::NetStream"/>
    <method name="resume" declaredBy="flash.net::NetStream" returnType="void"/>
    <accessor name="bytesTotal" access="readonly" type="uint" declaredBy="flash.net::NetStream"/>
    <method name="attachCamera" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="flash.media::Camera" optional="false"/>
      <parameter index="2" type="int" optional="true"/>
    </method>
    <accessor name="decodedFrames" access="readonly" type="uint" declaredBy="flash.net::NetStream">
      <metadata name="Inspectable">
        <arg key="environment" value="none"/>
      </metadata>
    </accessor>
    <method name="play" declaredBy="flash.net::NetStream" returnType="void"/>
    <accessor name="bufferLength" access="readonly" type="Number" declaredBy="flash.net::NetStream"/>
    <method name="attachAudio" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="flash.media::Microphone" optional="false"/>
    </method>
    <accessor name="videoCodec" access="readonly" type="uint" declaredBy="flash.net::NetStream">
      <metadata name="Inspectable">
        <arg key="environment" value="none"/>
      </metadata>
    </accessor>
    <accessor name="audioCodec" access="readonly" type="uint" declaredBy="flash.net::NetStream">
      <metadata name="Inspectable">
        <arg key="environment" value="none"/>
      </metadata>
    </accessor>
    <method name="close" declaredBy="flash.net::NetStream" returnType="void"/>
    <accessor name="bufferTime" access="readwrite" type="Number" declaredBy="flash.net::NetStream"/>
    <accessor name="checkPolicyFile" access="readwrite" type="Boolean" declaredBy="flash.net::NetStream"/>
    <accessor name="client" access="readwrite" type="Object" declaredBy="flash.net::NetStream"/>
    <method name="receiveAudio" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="Boolean" optional="false"/>
    </method>
    <method name="seek" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="Number" optional="false"/>
    </method>
    <method name="receiveVideo" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="Boolean" optional="false"/>
    </method>
    <accessor name="liveDelay" access="readonly" type="Number" declaredBy="flash.net::NetStream"/>
    <method name="publish" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="String" optional="true"/>
      <parameter index="2" type="String" optional="true"/>
    </method>
    <accessor name="objectEncoding" access="readonly" type="uint" declaredBy="flash.net::NetStream"/>
    <method name="receiveVideoFPS" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="Number" optional="false"/>
    </method>
    <method name="send" declaredBy="flash.net::NetStream" returnType="void">
      <parameter index="1" type="String" optional="false"/>
    </method>
    <method name="pause" declaredBy="flash.net::NetStream" returnType="void"/>
    <accessor name="soundTransform" access="readwrite" type="flash.media::SoundTransform" declaredBy="flash.net::NetStream"/>
    <method name="addEventListener" declaredBy="flash.events::EventDispatcher" returnType="void">
      <parameter index="1" type="String" optional="false"/>
      <parameter index="2" type="Function" optional="false"/>
      <parameter index="3" type="Boolean" optional="true"/>
      <parameter index="4" type="int" optional="true"/>
      <parameter index="5" type="Boolean" optional="true"/>
    </method>
    <method name="toString" declaredBy="flash.events::EventDispatcher" returnType="String"/>
    <method name="dispatchEvent" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
      <parameter index="1" type="flash.events::Event" optional="false"/>
    </method>
    <method name="hasEventListener" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
      <parameter index="1" type="String" optional="false"/>
    </method>
    <method name="willTrigger" declaredBy="flash.events::EventDispatcher" returnType="Boolean">
      <parameter index="1" type="String" optional="false"/>
    </method>
    <method name="removeEventListener" declaredBy="flash.events::EventDispatcher" returnType="void">
      <parameter index="1" type="String" optional="false"/>
      <parameter index="2" type="Function" optional="false"/>
      <parameter index="3" type="Boolean" optional="true"/>
    </method>
  </factory>
</type>
[SWF] home/dyw/workspace-eclipse33/as3/bin-debug/HelloWorld.swf - 1,453 bytes after decompression


使用
flash.external.ExternalInterface.call("console.log",describeType(flash.net.NetStream).toXMLString());
则可以把信息打印到firebug控制台。
0
2
分享到:
评论

相关推荐

    spring actionscript 必须的.swc包

    5. **as3commons-reflect.swc**:同样来自AS3 Commons,这个库提供了反射能力,允许在运行时检查类、接口、方法和属性,动态创建对象,这对于元编程和动态类型语言的特性非常有用。 6. **spring-actionscript-...

    ActionScript教程 Flex教程 ActionScript+Flex教程

    - **基础概念**:包括变量、数据类型、运算符、控制结构等。 - **面向对象编程**:类的定义、对象的创建、继承和多态性。 - **事件处理**:事件监听器、事件对象、事件流等。 - **高级主题**:异常处理、反射、泛型...

    PV3D的开源代码(flash actionscript)

    ActionScript 3.0引入了强类型、类和包的概念,使得代码更加模块化和可维护。在PV3D项目中,开发者可以利用这些特性创建高性能的3D场景和交互。 在提供的压缩包文件中,"src"目录很可能包含了PV3D的核心源代码。...

    flash反射实例

    在IT行业中,Flash是一款经典的动画和交互式内容开发平台,其编程语言ActionScript(AS)是实现动态功能的关键。在AS3.0版本中,引入了反射机制,这是一个强大的工具,允许程序在运行时检查自身并操作其内部结构,如...

    关于As3反射的问题

    在ActionScript 3 (AS3)中,反射是一种强大的编程技术,它允许程序在运行时检查自身的行为和结构。这包括获取类的信息、实例化对象、调用方法、访问属性等,即使这些信息在编译时是未知的。反射机制在处理动态语言...

    as3反射和将XML转换成对象的类

    在ActionScript 3 (AS3)中,反射是一种强大的编程技术,它允许程序在运行时检查自身和其他类的结构和行为。AS3反射API提供了一种方式,让我们可以在程序执行过程中动态地获取类的信息,包括类的属性、方法、变量等。...

    Flash ActionScript3.0三维系统源程序

    它可能包含了各种光照类型(如点光源、平行光、聚光灯)以及光照计算方法,如环境光、漫反射和镜面高光。 最后,`COMMON.as`可能是包含通用函数和常量的库,提供了一些基础的数学运算或者工具函数,方便在其他类中...

    Flex 反射示例

    在Flex编程中,反射提供了一种动态访问和操作应用程序组件的能力,即使在编译时未知其具体类型的情况下也可以进行。下面我们将深入探讨Flex反射的概念、用途以及如何使用。 一、Flex反射基础 1. **什么是反射**: ...

    As2Commons反射

    As2Commons是一个基于ActionScript 3.0的开源库,提供了丰富的工具和实用程序,其中包括了对反射的支持。它为开发者提供了一系列API,用于处理类和对象的信息,从而使得开发者能够在运行时动态地访问和修改类的行为...

    Flex前端与Java服务端交互反射机制.doc

    《Flex前端与Java服务端交互反射机制》 在软件开发中,前端与后端的交互是必不可少的一部分。本文主要探讨了使用Flex作为富互联网应用程序(RIA)前端与Java服务端进行交互的反射机制。Flex以其丰富的用户体验和...

    guanglight_flash源码_

    7. **ActionScript 3.0**:由于Flash Player已经不再支持新版本的浏览器,所以源码可能是用ActionScript 3.0编写的,这是ActionScript的最后一个主要版本,具有更强的类型检查和性能提升。 8. **互动性**:如果这个...

    flash中制作炫丽的光源变幻,提供源文件

    在Flash中,可以使用不同的光照模型如Lambert(漫反射)、Phong(镜面反射)等来计算物体表面的颜色。Lambert模型适用于非金属表面,而Phong模型可以模拟金属或光滑表面的高光。 在提供的源文件“flash bar”中,你...

    java类转换为AS3的工具以及一些注意事项

    - **反射与动态类型**:Java 的反射在 AS3 中较弱,转换时可能需要避免或重构涉及反射的部分。 4. **源码与工具的配合** 转换过程中,你可能会遇到源码中的一些特殊结构或库依赖,这时需要对 Java 和 AS3 两者的...

    flex3d实例

    Flex 3D支持多种光照类型(如点光源、平行光等)和材质属性(如颜色、镜面反射、环境贴图等),让3D模型更具真实感。 5. **动画和交互**:Flex 3D提供了丰富的动画控制机制,可以创建平滑的3D过渡效果。同时,用户...

    BNM Foundation Classes-开源

    通过这些类,开发者可以更加高效地进行数据通信、事件处理、资源加载,以及实现一些在原生ActionScript 2.0中较为复杂的特性,如线程管理和反射。这个开源框架大大降低了开发复杂Flash应用的门槛,提高了代码的复用...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    现有的 Java EE 应用 假定我们已经拥有了一个管理雇员信息的...可以通过 ActionScript 编码创建该对象,也可以直接在 MXML 中定义一个 RemoteObject 对象,并列出其所有的方法: 清单 13. 定义 flexServiceRO ...

    FLASH 3D库ASGL

    光源则影响3D模型的阴影和颜色表现,包括点光源、平行光和聚光灯等类型。网格是3D形状的基础,可以是简单的几何体如立方体、球体,也可以是复杂的多边形模型。材质则决定了网格表面的视觉效果,如颜色、反射、透明度...

    flash流水效果

    2. **Shape补间与Motion补间**:在Flash中,有两种主要的动画类型:Shape补间和Motion补间。Shape补间用于对象形状的变化,而Motion补间则用于对象位置、大小、透明度等属性的变化。在流水效果中,可能使用了Motion...

Global site tag (gtag.js) - Google Analytics