- 浏览: 336644 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangjun0603:
学习了,写的真好!
native2ascii的简单应用 -
qq672076266:
...
native2ascii的简单应用 -
loyalboys:
...
native2ascii的简单应用 -
hanjinting1004:
...
Flex开发者需要知道的10件事 -
管好你家猫:
学了,文章,
native2ascii的简单应用
import flash.utils.getDefinitionByName; import flash.utils.getQualifiedClassName; import flash.utils.getQualifiedSuperclassName; 1.获取实例的类名: public function getQualifiedClassName(value:*):String 1.获取实例的超类 public function getQualifiedSuperclassName(value:*):String 3.通过类的名字获取到Class对象 public function getDefinitionByName(name:String):Object 4.通过Class对象获取实例 比如 var cls:Class =getDefinitionByName(“mx.controls::TextInput”) as Class; var txtinput:TextInput =new cls() as TextInput; txtinput.text=“test”; co1.addChild(txtinput); 5.获取类的信息:字段、方法 public function describeType(value:*):XML 生成一个 XML 对象来描述参数中指定的 ActionScript 对象, 这个方法使 ActionScript 实现了反射编程的概念. 1. var dummy:Dummy = new Dummy(); var instanceInfo:XML = describeType(dummy); var properties:XMLList = instanceInfo..accessor.(@access != ”writeonly”) + instanceInfo..variable; for each (var propertyInfo:XML in properties) …{ var propertyName:String = propertyInfo.@name; trace(dummy[propertyName]); } 2. var sprite1:Sprite = new Sprite(); var instanceInfo:XML = describeType(sprite1); 3. package …{ import flash.utils.describeType; import flash.utils.getQualifiedClassName; import flash.utils.getDefinitionByName; /** *//** * 使用 flash.utils.describeType 获取类详细信息并缓存 * @author kakera * */ public class TypeDescriptor …{ /** *//** * 缓存已经反射过了的对象 */ private static var typeCache:Object = new Object(); /** *//** * 获取类信息 * @param target 要获取的目标对象 * @return TypeDescriptorEntry 实例 * */ public static function describeType (target:*):TypeDescription …{ var className:String = getQualifiedClassName(target); /** *//** * 检查缓存中是否已经有目标对象项, 如果有就返回缓存中的内容 */ if (className in typeCache) return typeCache[className]; /** *//** * 暂存属性列表 */ var propertyNames:Array = []; /** *//** * 获取类信息, 如果传入的是实例则获取实例类型的类信息 */ var typeInfo:XML = flash.utils.describeType(target is Class ? target : getDefinitionByName(className) as Class); /** *//** * 获取类中所有的属性和访问器 */ var properties:XMLList = typeInfo.factory..accessor.(@access != ”writeonly”) + typeInfo..variable; /** *//** * 遍历并存放到 propertyNames 中 */ for each (var propertyInfo:XML in properties) propertyNames.push(propertyInfo.@name); /** *//** * 创建 TypeDescriptorEntry 的实例并把 propertyNames 等属性丢进去 */ var entry:TypeDescription = new TypeDescription(); entry.name = className; entry.properties = propertyNames; entry.typeInfo = typeInfo; /** *//** * 缓存到 typeCache 中以便下次从缓存中读取 */ typeCache[className] = entry; return entry; } /** *//** * 静态类无须实例化 * @return * */ public function TypeDescriptor () …{ } } } TypeDescription.as, 负责保存信息 package …{ public class TypeDescription …{ /** *//** * 类的属性列表, 包括访问器 (accessor) 和变量 (variable) */ public var properties:Array; /**//* of String */ /** *//** * 类名 */ public var name:String; /** *//** * 由 flash.utils.describeType() 获取的原始 XML 数据 */ public var typeInfo:XML; public function TypeDescription () …{ } } }
more:http://www.ibm.com/developerworks/cn/web/0908_liuqing_flex_reflect/index.html
发表评论
-
应用避免访问浏览器缓存
2011-05-12 17:33 1386项目经常遇到这么个问题:程序做了改动之后,由于浏览 ... -
flex皮肤资源
2011-05-05 15:28 1299如果要找flex皮肤,这里的皮肤真是多。http: ... -
flex利用asdoc生成doc和制作chm
2011-04-02 17:33 1629How to set up ASDoc in Flex Bui ... -
restrict的应用实例
2011-04-02 11:54 11321. 限制某个字符的输入,用符号 ^ 跟上要限制的 ... -
flex中as、instanceof、is、 typeof用法
2011-03-24 09:48 4556“as” 我主要用它做类型转化 假设有一个类叫做 ... -
在Chart上画平均线的三种方法
2011-02-16 14:52 1425在Chart上画平均线的三种方法 ... -
Flex Frameworks
2010-11-12 15:32 999Some say that if a t ... -
flex4国际化
2010-11-11 16:56 2124国际化变得如此简单 <?xml versi ... -
使用ToolTipManager自定义tooltip
2010-11-05 14:52 2621直接贴代码,一看就懂。 <?xml version=& ... -
flex 校验
2010-11-05 14:41 1035①flex中的校验可以使用mx.validator ... -
Flex中的fx、mx和s命名空间
2010-11-05 13:12 3390Flex 4带给我们的 ... -
socket中writeUTF和writeUTFBytes的区别
2010-11-03 10:25 2797Q:用writeUTF发送数据的时候,后台多 ... -
修改flex默认loading
2010-10-18 13:51 2524一: SWF Flex 2 PreloaderSWF ... -
AIR文件操作
2010-09-26 10:01 2928AIR文件操作(一):AIR文件基础 AI ... -
ActionScript 3.0 Socket编程
2010-09-17 17:25 1170在使用ActionScript3.0进行编程的时候需要注 ... -
as 对象深度拷贝
2010-08-20 10:32 992这是一篇关于as3中对象深度拷贝的问题今天自己总结下,便 ... -
Create a FlexUnit TestCase
2010-04-29 20:34 1045Problem How to create a Fle ... -
as3corelib
2010-04-29 20:10 1487google code :http://code. ... -
FusionCharts
2010-04-28 19:26 2370无意中接触到这个产品FusionCharts,3D ... -
flex datagrid自动换行
2010-04-19 17:10 2886以为datagrid的自动换行有多复杂,其实 ...
相关推荐
Flex反射是Adobe Flex框架中的一个重要特性,它允许在运行时检查和操作类、对象、方法、属性等元数据。在Flex编程中,反射提供了一种动态访问和操作应用程序组件的能力,即使在编译时未知其具体类型的情况下也可以...
### Flex开发中的类反射技术详解 #### 引言 随着Flex技术在富互联网应用(RIA)领域的广泛应用,其独特的能力,如强大的图形处理能力和高效的数据处理机制,使其成为开发高性能Web应用的首选工具之一。Flex的灵活...
光线效果对于创造真实感和氛围至关重要,例如,它可以模拟阳光、聚光灯或者环境反射等,提升游戏的沉浸感。 在学习和使用Flex特效编辑器时,开发者应掌握基本的Flex编程知识,了解ActionScript和MXML,这是Flex应用...
- C#可以通过反射或委托机制来调用Flex中的方法。在C#端创建一个委托,对应Flex中的方法签名,然后在需要调用Flex方法时,通过Flash控件发送消息到Flex端,由Flex端的事件监听器接收并执行相应的方法。 5. **通信...
《Flex前端与Java服务端交互反射机制》 在软件开发中,前端与后端的交互是必不可少的一部分。本文主要探讨了使用Flex作为富互联网应用程序(RIA)前端与Java服务端进行交互的反射机制。Flex以其丰富的用户体验和...
8. **ReflexUtil**: 一个反射组件类,可用于动态操作和检查Flex对象。 9. **flex-object-handles**: 提供对象处理功能,通过XML配置实现对象的操作,但可能需要根据具体需求进行定制。 10. **CheckboxTree 和 ...
4. **Spring**:SpringFactory类和反射机制,用于管理和实例化后端服务。 5. **业务层**:基于Spring框架,使用Hibernate处理数据库操作,实现业务逻辑。 6. **Flex Application, Module, Component**:Flex前端应用...
如果SWF文件内部没有暴露必要的控制接口,我们可能需要通过反射或者其他方式与SWF进行通信。ActionScript 3的`flash.utils.getDefinitionByName()`函数可以帮助我们获取SWF内部的类或函数。 6. **Flex与Flash集成...
- **ColorTransform**:用于改变DisplayObject的颜色和透明度,我们可以用它来模拟阳光照射下的海面反射和阴影。 - **GradientFill** 和 **LinearGradient**:这些可以用来创建海浪的深度感,通过渐变从深蓝色到浅...
通过Away3D,你可以创建旋转、缩放、平移等基本3D变换,还可以实现更复杂的3D特效,如阴影、反射、折射和粒子系统。 Flare3D则是一个更加面向设计师的3D框架,它支持导入3D模型(如3DS Max或Maya导出的模型),并...
Flex 3D支持多种光照类型(如点光源、平行光等)和材质属性(如颜色、镜面反射、环境贴图等),让3D模型更具真实感。 5. **动画和交互**:Flex 3D提供了丰富的动画控制机制,可以创建平滑的3D过渡效果。同时,用户...
这通常涉及到创建一个Spring MVC或Servlet,处理HTTP请求,并通过Java的反射机制或其他手段解析AMF消息。在Spring MVC中,可以创建一个Controller,使用注解如`@RequestMapping`来定义处理的URL路径。 接着,Flex...
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
在本文中,我们将深入探讨如何使用Flex实现超炫的倒影效果,并且将重点放在如何调整模糊程度和影子长度。Flex是一种强大的CSS3布局模式,允许开发者在各种屏幕尺寸和方向上创建灵活、响应式的网页设计。倒影效果则是...
- **高级主题**:异常处理、反射、泛型等。 - **游戏开发**:物理引擎的使用、碰撞检测、游戏循环等。 #### 四、Flex教程 - **MXML基础**:MXML元素、属性、样式和脚本的使用。 - **组件和容器**:标准UI组件(如...
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
无需自己找镜子Shader,只需2个脚本即可在Unity中创建一个简单的模拟镜面反射效果。 使用教程链接:https://blog.csdn.net/ChinarCSDN/article/details/80862999
在本篇中,我们将深入探讨 Away3D 学习的第二部分,主要关注场景中的SkyBox(天空盒)和反射效果。Away3D 是一款基于 ActionScript 的高性能三维引擎,常用于开发 Flash 平台上的交互式3D应用。通过 SkyBox 和反射,...
Flex特效示例主要展示了在ActionScript 3.0框架下使用Adobe Flex进行视觉效果和动画设计的各种技术。Flex是一款强大的开发工具,用于构建富互联网应用程序(RIA),它提供了丰富的组件库和强大的图形处理能力,使得...
通过调整Light3D对象的位置和强度,以及Material对象的属性,可以改变3D物体表面的反射、阴影和颜色,从而提升立体感。 6. **事件处理**:为了让用户能够与3D隧道互动,需要监听鼠标和键盘事件,根据用户的输入调整...