热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

页游开发,给文档类加壳的简单做法

页游开发中,功能模块的界面可以在FlashCS中可以进行设计,但要在其中的文档类中进行编码,效率比较低下(设计师用的工具还是没有FlashBuilder这类的IDE编码舒服)。多数情况下程序员更喜
页游开发中,功能模块的界面可以在Flash CS 中可以进行设计,但要在其中的文档类中进行编码,效率比较低下(设计师用的工具还是没有FlashBuilder这类的IDE编码舒服)。多数情况下程序员更喜欢在FlashBuilder这类的IDE下进行编码调试,但它也不是界面设计的最佳工具。如何将二者的优势结合起来,提高开发效率呢?
先说一下先前的做法和碰到的问题: Flash CS中的MovieClip可以为ActionScript导出文档类,FlashBuilder中创建ActionScript项目引用Flash输出的swc,可以构造这个文档类的具体实例,形象的说法就是用新建的类作为了文档类的壳。这个过程中FlashBuilder中的类中需要操作MovieClip中的属性对象,所以需要给他们起名字赋值。如果成员对象比较多,这个工作量也是很可观的,而这就是本文要解决的问题。  解决: 先说一下做过的尝试 采用ObjectUtil.getClassInfo 方法,这个类不在默认的包内需要额外导入引用包,因为这个不足所以排除。 采用循环遍历MovieClip中的属性,不可行。尝试过程中也补了动态类的相关知识,循环只能取到其中的动态属性,而这种在类定义中就声明了的不适用。 正题: 实现代码大致如下:
var mc:Test=new Test();// 构造了一个文档类的实例
var xml:XML=describeType(mc);// 得到类的描述xml
for each(var prop:XML in xml.variable)// 遍历xml中的变量属性
{
this[prop.@name]=UI[prop.@name];// 赋值
}



使用条件:操作文档类的类(FlashBuilder项目中的类)需要声明与文档类中的实例名相同的变量。额外的好处:FlashCS 文档类可以只做声明,不需要有具体的文件。参考文档:http://www.iamsevent.com/post/31.html

推荐阅读
author-avatar
Android源代码
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有