ActionScript 类型反射

本文详细介绍了Flash中NetStream类的API,包括其属性、方法及事件等,并提供了使用debug模式查看这些信息的方法。

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控制台。
潮汐研究作为海洋科学的关键分支,融合了物理海洋学、地理信息系统及水利工程等多领域知识。TMD2.05.zip是一套基于MATLAB环境开发的潮汐专用分析工具集,为科研人员与工程实践者提供系统化的潮汐建模与计算支持。该工具箱通过模块化设计实现了两大核心功能: 在交互界面设计方面,工具箱构建了图形化操作环境,有效降低了非专业用户的操作门槛。通过预设参数输入模块(涵盖地理坐标、时间序列、测站数据等),用户可自主配置模型运行条件。界面集成数据加载、参数调整、可视化呈现及流程控制等标准化组件,将复杂的数值运算过程转化为可交互的操作流程。 在潮汐预测模块中,工具箱整合了谐波分解法与潮流要素解析法等数学模型。这些算法能够解构潮汐观测数据,识别关键影响要素(包括K1、O1、M2等核心分潮),并生成不同时间尺度的潮汐预报。基于这些模型,研究者可精准推算特定海域的潮位变化周期与振幅特征,为海洋工程建设、港湾规划设计及海洋生态研究提供定量依据。 该工具集在实践中的应用方向包括: - **潮汐动力解析**:通过多站点观测数据比对,揭示区域主导潮汐成分的时空分布规律 - **数值模型构建**:基于历史观测序列建立潮汐动力学模型,实现潮汐现象的数字化重构与预测 - **工程影响量化**:在海岸开发项目中评估人工构筑物对自然潮汐节律的扰动效应 - **极端事件模拟**:建立风暴潮与天文潮耦合模型,提升海洋灾害预警的时空精度 工具箱以"TMD"为主程序包,内含完整的函数库与示例脚本。用户部署后可通过MATLAB平台调用相关模块,参照技术文档完成全流程操作。这套工具集将专业计算能力与人性化操作界面有机结合,形成了从数据输入到成果输出的完整研究链条,显著提升了潮汐研究的工程适用性与科研效率。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值