flash开发中如何实现界面代码分离
时间:2022-04-23
本文章向大家介绍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,true
addChild(btnTest);
btnTest.x = btnTest.y = 50;
btnTest.addEventListener(MouseEvent.CLICK,btnTestClick);
var btnTest2:SimpleButton = new ButtonPlay() as SimpleButton;
trace(btnTest2);//Demo_ButtonPlay1
addChild(btnTest2);
btnTest2.y = 50;
btnTest2.x = 100;
btnTest2.addEventListener(MouseEvent.CLICK,btnTest2Click);
var bmd:Bitmap = new LogoImage() as Bitmap;
trace(bmd);//Demo_LogoImage2
addChild(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 被点击了!");
}
}
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用OpenCV进行模糊检测(拉普拉斯算子)
- 利用opencv对图像进行长曝光
- 总说手机没有“好壁纸”,Python一次性抓取500张“美女”图片,够不够用!
- KEDA发布2.0(Beta)|来一个伸缩测试
- pandas入门:Series、DataFrame、Index基本操作都有了!
- 这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!
- 手把手教你用 Python 搞定网页爬虫!
- 为并发而生的 ConcurrentHashMap,基于 Java8 分析
- 使用Kustomize定制Helm Chart
- 踩坑了,JDK8 中 HashMap 依然会产生死循环问题!
- 使用shell-operator实现Operator
- 教你用Python 操作 PDF 的几种方法
- 如何在K8s上设置生产级的EFK?(上)
- IntelliJ IDEA 构建 Maven 多模块工程项目
- GDP越高就越幸福吗?用Python分析《世界幸福指数报告》后我们发现…