使用JSFL自动生成元件AS3代码声明和赋值语句
2012-07-10 17:07
411 查看
http://www.daylyn.org/post/101.html
var selectedItems = fl.getDocumentDOM().selection; //获取文档所选对象数组 var resultDesc = ""; //结果声明语句部分 var resultAssignment = ""; //结果赋值语句部分 var libitem; //库元件 //循环选中的库元件 var selItems = fl.getDocumentDOM().library.getSelectedItems(); var childItem = selItems[0]; fl.outputPanel.trace(childItem.name); fl.outputPanel.trace(childItem.linkageExportForAS); //linkageBaseClass.toString().split(".").pop()); fl.outputPanel.trace(childItem.linkageClassName); fl.outputPanel.trace(childItem.linkageBaseClass); //默认基类 则是空串 resultDesc = "private var _ui:" + "Sprite"; for(var i = 0 ; i < selectedItems.length; i ++) { var item = selectedItems[i]; if(item.libraryItem) { libitem = item.libraryItem; if(isComponent(libitem.name)) { resultDesc += "private var _"+item.name+":"+getClassOfComponent(item.libraryItem.name)+";\n"; //resultAssignment += "_" + item.name + " = " + "_ui[" + item.name + "]"; //也可以用getChildByName方法 } else if(libitem.linkageBaseClass) { resultDesc += "private var _"+item.name+":"+(libitem.linkageBaseClass.toString().split(".").pop())+";\n"; //resultAssignment += "_" + item.name + " = " + "_ui[" + item.name + "]"; } else if(item.name) { resultDesc += "private var _"+item.name+":MovieClip;\n"; //resultAssignment += "_" + item.name + " = " + "_ui[" + item.name + "]"; } resultAssignment += "_" + item.name + " = " + "_ui[\"" + item.name + "\"]" + ";\n"; } else if(item.elementType == "text"&&item.name) { resultDesc += "private var _"+item.name+":TextField;\n"; resultAssignment += "_" + item.name + " = " + "_ui[\"" + item.name + "\"]" + ";\n"; } } /* 是否为组件 */ function isComponent(libItemName) { fl.outputPanel.trace(libItemName); return libItemName.match(/Components\//i); } /* 获取组件类名 */ function getClassOfComponent(libItemName) { return libItemName.match(/Components\/([a-zA-Z0-9_-]*)/i)[1]; } fl.outputPanel.trace(resultDesc); //打印结果 fl.outputPanel.trace(resultAssignment);
相关文章推荐
- Mybatis代码自动生成插件使用
- SpringBoot学习-如何使用mybatis-generator-maven-plugin自动生成代码
- 使用codedom自动生成代码
- Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码
- idea中使用Mybatis generator 自动生成代码
- ButterKnife的使用以及不能自动生成代码问题的解决
- 使用 Google AutoValue 自动生成代码
- 使用Mybatis Generator自动生成代码
- 使用Mybatis-Generator自动生成Dao、Model、Mapping代码
- 使用svcutil工具自动生成wcf调用的客户端代码和配置文件
- 使用Signature Tool自动生成P/Invoke调用Windows API的C#函数声明
- 使用MyBatis-Generator自动生成代码
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
- android开发使用greenDAO如何自动生成代码
- 使用mybatis generator自动生成代码
- 使用maven自动生成Mybatis的代码
- Intellij IDEA 中使用 MyBatis-generator 自动生成 MyBatis 代码
- C#工具---使用Signature Tool自动生成P/Invoke调用Windows API的C#函数声明
- MyBatis使用Generator自动生成代码
- 使用MyBatis-Generator自动生成代码