“flash开发”发展到今天,大体上已经细分为二个分支:Flash 设计师 和 Flash程序员,然而设计师不懂代码,程序员不懂设计,如何把这二种角色有机结合起来,实现代码、界面分离?可能下面的办法对你有用:

actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行),这意味着设计师们可以把一些常用的与代码无关的素材(比如按钮,图片,小动画),以他们喜欢的方式,用Flash CS工具设计好放到库中。

然后程序员把这类包含(皮肤)素材的swf嵌入到程序代码中,用代码创建相应的实例,这样程序员用flash builder/flashdevelop做开发,设计师用flash cs做设计,互不相干。

关键点:

设计师把素材放入到库中时,一定要指定类名,这样代码才能创建这些类的实例。

如上图所示,这里库中放了三种基本的素材(按钮,位图,电影夹),然后在代码中可以这样处理:

package
{import flash.display.Sprite;import flash.display.DisplayObject;import flash.display.SimpleButton;import flash.events.MouseEvent;import flash.display.MovieClip;import flash.display.BitmapData;import flash.display.Bitmap;public class Demo extends MovieClip{[Embed(source = "skin.swf",symbol = "ButtonPause")]private var ButtonPause:Class;[Embed(source = "skin.swf",symbol = "ButtonPlay")]private var ButtonPlay:Class;[Embed(source = "skin.swf",symbol = "LogoImage")]private var LogoImage:Class;[Embed(source = "skin.swf",symbol = "TestMovie")]private var TestMovie:Class;public function Demo(){init();}private function init():void{var btnTest:SimpleButton = new ButtonPause() as SimpleButton;trace(btnTest,btnTest is SimpleButton);//Demo_ButtonPause0,trueaddChild(btnTest);btnTest.x = btnTest.y = 50;btnTest.addEventListener(MouseEvent.CLICK,btnTestClick);var btnTest2:SimpleButton = new ButtonPlay() as SimpleButton;trace(btnTest2);//Demo_ButtonPlay1addChild(btnTest2);btnTest2.y = 50;btnTest2.x = 100;btnTest2.addEventListener(MouseEvent.CLICK,btnTest2Click);var bmd:Bitmap = new LogoImage() as Bitmap;trace(bmd);//Demo_LogoImage2addChild(bmd);bmd.x = bmd.y = 200;var testMovie:MovieClip = new TestMovie() as MovieClip;addChild(testMovie);testMovie.x = testMovie.y = 180;trace(testMovie);//Demo_TestMovie3}private function btnTestClick(e:MouseEvent):void{trace("btnTest 被点击了!");}private function btnTest2Click(e:MouseEvent):void{trace("btnTest2 被点击了!");}}}

flash开发中如何实现界面代码分离相关推荐

  1. (转)flex中使用swc实现更好的界面代码分离

    flex中使用swc实现更好的界面代码分离 转自:http://www.cnblogs.com/yjmyzz/archive/2010/07/26/1785265.html 前几天写过一篇" ...

  2. HTML5+移动APP开发中遇到的各种代码元素的含义(四)

    系列目录 跨平台移动APP开发中遇到的各种代码元素的含义(一) HTML5+移动APP开发中遇到的各种代码元素的含义(二) HTML5+移动APP开发中遇到的各种代码元素的含义(三) 目录 系列目录 ...

  3. jsp/html开发中常用的JS代码和页面特效代码

    1.jsp/html开发中常用的JS代码 1.后退 前进 <input type="button" value="后退" onClick="hi ...

  4. php jsp显示数据排序,JSP_SQL数据库开发中的一些精典代码,1.按姓氏笔画排序: select * From T - phpStudy...

    SQL数据库开发中的一些精典代码 1.按姓氏笔画排序: select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke ...

  5. 微信开发中消息回复的代码_消息中的消息

    微信开发中消息回复的代码 Ste·ga·no·graph·y / stegəˈnägrəfi / (noun): the practice of concealing messages or info ...

  6. (2)pyqt5教程--->使用QTdesigner实现界面代码分离

    GitHub连接: 本专栏所有源代码的GitHub直通车 在上一篇中已经讲了一个pyqt5的基本框架是什么,这篇使用QTdesigner来设计一下界面 第一篇:pyqt5的基本框架 1.QTdesig ...

  7. 浅谈游戏开发中逻辑与表现的分离

    回顾之前做的几个Demo,做点总结. 一.做法: 为了更清晰,NRatel将 一个游戏对象类 拆分为 两个类,如下: 1.定义"纯粹的逻辑类".   基本职责:对游戏对象的&quo ...

  8. 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]

    文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...

  9. 金蝶BOS开发中Edit编辑界面和List叙事薄界面需要写的代码

    本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理, EditUI中的代码 public class MyBillEditUI extends AbstractMyBillEdit ...

最新文章

  1. write solid code 零散(原文)
  2. python学多久可以做项目-怎么自学python,大概要多久?
  3. 【加】德鲁·卡宾森 - 质量效应3:天罚(2013年6月26日)
  4. map中的erase成员函数用法
  5. 【过程改进】 windows下jenkins常见问题填坑
  6. 世界hack杂志集合(转)
  7. jquery lazy load
  8. Python any 函数 - Python零基础入门教程
  9. 向服务器写入错误日志-log
  10. Java url转MultipartFile inputStream转File file转multipartFile
  11. # 研究杂感 × Gephi(第一辑)
  12. 利用python自动发送邮件(无敌详细讲解版)
  13. serialVersionUID 问题处理
  14. word文档分栏怎么设置
  15. 蓝桥杯计算机软件大赛什么时间,“蓝桥杯”全国软件设计大赛
  16. 英特尔、高通等多家科技巨头禁止员工与华为交流!
  17. axure如何页面滑动时广告位上移_Axure实现滚动广告效果
  18. PSIM中的光伏阵列使用(solar module)
  19. staticmethod静态方法有什么作用(含例子运用)
  20. 计算机教师面试题模板,教师资格证面试试讲逐字稿模板——信息技术

热门文章

  1. 【杂谈】如何在言有三本人的随时答疑下, 长期而系统地学习深度学习和计算机视觉,这是有三AI的完整计划...
  2. 【技术综述】视频分类/行为识别研究综述,从数据集到方法
  3. 2022年全球及中国集电环行业发展格局与十四五供需现状分析报告
  4. 全球及中国人寿保险产业盈利能力与十四五营销策略咨询报告2022版
  5. 中国电力环保设备行业十四五发展形势与投资机会分析报告2022版
  6. 中国海上风力发电行业战略调研与投资风险分析报告2022-2028年
  7. 鸿蒙是单线程还是多线程,鸿蒙 RT-Thread 两者之间究竟是不是竞争关系呢
  8. 关于保存到session里的信息
  9. 【php】命名空间的影响
  10. 安装Uikit时ERROR in Entry module not found: Error: Can't resolve './src' in 'xxx'的解决思路