flash开发中如何实现界面代码分离
“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开发中如何实现界面代码分离相关推荐
- (转)flex中使用swc实现更好的界面代码分离
flex中使用swc实现更好的界面代码分离 转自:http://www.cnblogs.com/yjmyzz/archive/2010/07/26/1785265.html 前几天写过一篇" ...
- HTML5+移动APP开发中遇到的各种代码元素的含义(四)
系列目录 跨平台移动APP开发中遇到的各种代码元素的含义(一) HTML5+移动APP开发中遇到的各种代码元素的含义(二) HTML5+移动APP开发中遇到的各种代码元素的含义(三) 目录 系列目录 ...
- jsp/html开发中常用的JS代码和页面特效代码
1.jsp/html开发中常用的JS代码 1.后退 前进 <input type="button" value="后退" onClick="hi ...
- php jsp显示数据排序,JSP_SQL数据库开发中的一些精典代码,1.按姓氏笔画排序: select * From T - phpStudy...
SQL数据库开发中的一些精典代码 1.按姓氏笔画排序: select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke ...
- 微信开发中消息回复的代码_消息中的消息
微信开发中消息回复的代码 Ste·ga·no·graph·y / stegəˈnägrəfi / (noun): the practice of concealing messages or info ...
- (2)pyqt5教程--->使用QTdesigner实现界面代码分离
GitHub连接: 本专栏所有源代码的GitHub直通车 在上一篇中已经讲了一个pyqt5的基本框架是什么,这篇使用QTdesigner来设计一下界面 第一篇:pyqt5的基本框架 1.QTdesig ...
- 浅谈游戏开发中逻辑与表现的分离
回顾之前做的几个Demo,做点总结. 一.做法: 为了更清晰,NRatel将 一个游戏对象类 拆分为 两个类,如下: 1.定义"纯粹的逻辑类". 基本职责:对游戏对象的&quo ...
- 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]
文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...
- 金蝶BOS开发中Edit编辑界面和List叙事薄界面需要写的代码
本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理, EditUI中的代码 public class MyBillEditUI extends AbstractMyBillEdit ...
最新文章
- write solid code 零散(原文)
- python学多久可以做项目-怎么自学python,大概要多久?
- 【加】德鲁·卡宾森 - 质量效应3:天罚(2013年6月26日)
- map中的erase成员函数用法
- 【过程改进】 windows下jenkins常见问题填坑
- 世界hack杂志集合(转)
- jquery lazy load
- Python any 函数 - Python零基础入门教程
- 向服务器写入错误日志-log
- Java url转MultipartFile inputStream转File file转multipartFile
- # 研究杂感 × Gephi(第一辑)
- 利用python自动发送邮件(无敌详细讲解版)
- serialVersionUID 问题处理
- word文档分栏怎么设置
- 蓝桥杯计算机软件大赛什么时间,“蓝桥杯”全国软件设计大赛
- 英特尔、高通等多家科技巨头禁止员工与华为交流!
- axure如何页面滑动时广告位上移_Axure实现滚动广告效果
- PSIM中的光伏阵列使用(solar module)
- staticmethod静态方法有什么作用(含例子运用)
- 计算机教师面试题模板,教师资格证面试试讲逐字稿模板——信息技术
热门文章
- 【杂谈】如何在言有三本人的随时答疑下, 长期而系统地学习深度学习和计算机视觉,这是有三AI的完整计划...
- 【技术综述】视频分类/行为识别研究综述,从数据集到方法
- 2022年全球及中国集电环行业发展格局与十四五供需现状分析报告
- 全球及中国人寿保险产业盈利能力与十四五营销策略咨询报告2022版
- 中国电力环保设备行业十四五发展形势与投资机会分析报告2022版
- 中国海上风力发电行业战略调研与投资风险分析报告2022-2028年
- 鸿蒙是单线程还是多线程,鸿蒙 RT-Thread 两者之间究竟是不是竞争关系呢
- 关于保存到session里的信息
- 【php】命名空间的影响
- 安装Uikit时ERROR in Entry module not found: Error: Can't resolve './src' in 'xxx'的解决思路