随笔分类 -  flash

flash性能优化方案整理(最全)
摘要:性能优化的原则1.避免过早优化:太早优化将使代码难以设计和维护,最好是针对程序的瓶颈进行优化。2.改进性能有时需要权衡:不能一味注重改进性能,一个项目要考虑各方面的利弊,比如代码的健壮性,结构性,扩展性,可读性,执行效率等等。把耗费CPU的计算分成小而独立的段参见:http://www.senocular.com/flash/tutorials/asyncoperations/Flash平台是一个单线程的平台,它不支持多线程。它运行在一个循环中,以划分的“帧”为单位进行处理。帧的执行又可划分为2个阶段:(1)ActionScript 代码的执行(2)显示对象(DisplayObject)的呈现 阅读全文

posted @ 2013-07-03 12:30 Jingle Guo 阅读(6870) 评论(7) 推荐(2) 编辑

游戏引擎PushButtonEngine简介
摘要:PushButtonEngine是一个开源的模块化游戏引擎,你可以通过https://github.com/PushButtonLabs/PushButtonEngine得到其代码和相关文档。下面我将介绍一下其功能及一些实现的方式,如果有说得不对的地方请指正。文中的部分讲述直接翻译自官方文档。 Pu 阅读全文

posted @ 2013-06-29 08:20 Jingle Guo 阅读(1618) 评论(0) 推荐(1) 编辑

Robotlegs框架1.5简介
摘要:该框架的1.5版本位于https://github.com/robotlegs/robotlegs-framework/tree/version1,现在已经出了重新架构的2.0版本,所以我决定先研究已经成熟的1.6版本,有时间再研究2.0版本的。 我看完这个框架的源码和范例的第一印象就是自动化,这个 阅读全文

posted @ 2013-06-27 15:30 Jingle Guo 阅读(2214) 评论(0) 推荐(1) 编辑

AS3语言注意事项汇总
摘要:1. 在IE中,主DisplayObject加入stage后,可能其大小还是0,这时可以通过监听resize信息,在主DisplayObject获得正确的大小后,运行主要程序。需要注意的是在这个过程中,可能会触发多次resize事件。package{ import flash.events.Event; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; [SWF(width="400", height="300&quo 阅读全文

posted @ 2013-06-26 14:56 Jingle Guo 阅读(522) 评论(5) 推荐(0) 编辑

我的网页游戏开发计划[7.03更新]
摘要:谨以此博记录我的游戏开发路程,进度将不定期在此文中更新。 想要开发一个网页游戏,下面是我的计划: 1.客户端计划用flash语言,所以需要先学习AS3和Flex。 目前AS3已经大致学完,对Flex也有一定的了解,因为在学Flex的过程中,感觉Flex更适合做一些Form,而在绘制游戏界面并没有发现 阅读全文

posted @ 2013-06-26 09:35 Jingle Guo 阅读(3157) 评论(20) 推荐(4) 编辑

轻量级IOC框架SwiftSuspenders
摘要:该框架的1.6版本位于https://github.com/tschneidereit/SwiftSuspenders/blob/the-past/,现在已经出了重新架构的2.0版本,所以我决定先研究已经成熟的1.6版本,有时间再研究2.0版本的。 IOC的基本知识 控制反转(Inversion o 阅读全文

posted @ 2013-06-24 07:21 Jingle Guo 阅读(3073) 评论(0) 推荐(2) 编辑

PureMVC框架应用简述
摘要:一.介绍 PureMVC是基于MVC思想建立的一个轻量级的应用框架,这套框架有多种语言的版本ActionScript 2ActionScript 3C++C#ColdFusionDartHaxeJavaJavaScriptObjective CPerlPHPPythonRubyTypeScript且 阅读全文

posted @ 2013-06-12 08:26 Jingle Guo 阅读(3275) 评论(0) 推荐(0) 编辑

Flash的控件库
摘要:Spark控件库1.支持多种控件Button 常用的矩形按钮。ToggleButton 通过单击在按下和弹起状态切换的按钮。ButtonBar ButtonBar 控件定义一组具有普通外观和导航的且在逻辑上相关的水平按钮。CheckBox CheckBox 组件包含一个可选标签和一个小方框,该方框内可以包含/不包含复选标记。ComboBox 能修改,添加选项的下拉列表。DropDownList 只能选择的下拉列表,用户可从中选择单个值。Label Label 是可以呈示一行或多行统一格式文本的低级 UIComponent。List List 控件可显示垂直项目列表。Numeri... 阅读全文

posted @ 2013-06-10 21:29 Jingle Guo 阅读(1335) 评论(1) 推荐(1) 编辑

Flex学习记录(二)——深入理解MXML
摘要:一.MXML工作原理前面我们学习了MXML的基本知识,但是MXML是怎么工作的呢?其实MXML最后都会通过一定的规则编译成AS3的形式,简单来说是其中MXML的文件名会成为AS3中的类名,MXML中的property会成为child,attribute会成为对象的属性,id会成为类的属性,下面将详细说明:我们知道flex sdk下framework文件夹下有个flex-config.xml文件,通过修改这个文件我们可以定制Flex编译的行为。将这个文件中的keep-generated-actionscript设置为true,我们将可以看到MXML文件生成的AS3代码。例如我们定义如下的Main 阅读全文

posted @ 2013-06-02 21:33 Jingle Guo 阅读(2403) 评论(0) 推荐(1) 编辑

ActionScript3(AS3)类库学习之(十三)——使用合适的显示子类
摘要:上一章我们了解了显示列表,还有DisplayObject等显示对象基类,但是我们不能直接用这些基类来构造显示对象, 而必须用继承自这些基类的类来构造显示对象,AS3已经定义好了一些显示类,我们可以根据我们的需要来使用它们,当然如果已有的类不够使,我们也可以自己去定义一些显示类,当然我们构造的显示类最好是继承自相应的子显示类。下面我们来了解一下AS3中的显示子类一.Shape这个类直接继承自DisplayObject,这使得这个类既不能包含子显示对象,也不利于鼠标键盘的交互。这个类只是多了个graphics属性来获取画图的方法,如果只是想创建矢量图形,如矩形、直线、圆等,可以用这个类。关于Gra 阅读全文

posted @ 2013-05-03 20:03 Jingle Guo 阅读(1471) 评论(0) 推荐(1) 编辑

ActionScript3(AS3)类库学习之(十二)——BitmapData类
摘要:AS3用BitmapData类来处理Bitmap对象的数据,通过直接操作 BitmapData 对象,我们可以创建复杂的图像。一.构造BitmapData类var myBitmap:BitmapData = new BitmapData(width:Number, height:Number, transparent:Boolean, fillColor:uinit);通过这个构造函数,我们等于为BitmapData定义了下面的属性。width:位图图像的宽度,以像素为单位。height:位图图像的高度,以像素为单位。rect:定义位图图像大小和位置的矩形。transparent:定义位图图像 阅读全文

posted @ 2013-04-18 21:21 Jingle Guo 阅读(1783) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(十一)——Graphics类
摘要:Graphics 类包含用于绘制线条、填充和形状的属性和方法。无法通过 ActionScript 代码直接创建 Graphics 对象。我们通过 Shape、Sprite 和 MovieClip 对象里的graphics属性来进行绘图。Graphics 类是最终类;无法从其派生子类。一.画图前需要先定义线条或填充样式lineBitmapStyle(bitmap:BitmapData, matrix:Matrix = null, repeat:Boolean = true, smooth:Boolean = false):void指定一个位图,用于绘制线条时的线条笔触。 line... 阅读全文

posted @ 2013-04-18 19:49 Jingle Guo 阅读(1584) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(十)——DisplayObject等显示对象基类
摘要:一.显示列表使用AS3构建的每个应用程序都有一个由显示对象构成的层次,这个层次称为显示列表,所有显示对象如果想要显示在Stage上则必须加入显示列表中!其结构如下所示。显示列表中所有的显示对象都必须继承自DisplayObject, 所有包含其他DisplayObject的显示对象都必须继承自DisplayObjectContainer,所有能够和鼠标键盘交互的显示对象必须继承自InteractiveObject, 下图说明了这些核心显示对象类的子类关系。二.DisplayObject类1.显示列表路径Stage:一个Flash应用只有一个Stage,其上的所有DisplayObject的St 阅读全文

posted @ 2013-04-16 22:11 Jingle Guo 阅读(3835) 评论(1) 推荐(1) 编辑

ActionScript3(AS3)类库学习之(九)——响应鼠标和键盘
摘要:一.使用自定义光标ActionScript支持自定义的光标样式1.定义光标样式用MouseCursorData类来定义光标样式a.新建样式var mouseCursorData:MouseCursorData = new MouseCursorData();b.用data:Vector.<BitmapData>属性来放光标的图像,最大光标大小为 32x32 像素。可以提供多个图像。c.如果有多个光标图像,可以将frameRate设置为大于0,使光标按这个帧速率播放。d.用hotSpot来定义鼠标单击所在的点。2.使用光标样式用registerCursor(name:String, 阅读全文

posted @ 2013-04-13 21:43 Jingle Guo 阅读(1762) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(八)——自定义上下文菜单
摘要:一.定义菜单项用ContextMenuItem类来表示上下文菜单中的项1.新建菜单项var menuitem:ContextMenuItem = new ContextMenuItem(caption);2.菜单项标题的限制a.菜单项必须包含一个可见字符且不能超过 100 个字符。b.控制字符、换行符和其他空白字符将被忽略。c.与内置菜单项或其他自定义菜单项相同的标题将被忽略,比较时将不考虑大小写、标点符号或空白。d.不允许使用以下标题及其中文SaveZoom InZoom Out100%Show AllQualityPlayLoopRewindForwardBackMovie not loa 阅读全文

posted @ 2013-04-10 20:59 Jingle Guo 阅读(1102) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(七)——Transform二维平面转换
摘要:一.TransformTransform属于flash.geom包,DisplayObject用它来进行颜色的转换和图形图像的改变颜色,放大,缩小,旋转,移动等操作。它可以用作2D变换,也可以进行3D变换,我暂时只关注2D变换了1.colorTransform:可以用来得到当前DisplayObject对象的颜色变换2.concatenatedColorTransform:表示此对象及其所有父级对象的组合颜色转换,回到根级别。如果在不同级别上应用了不同的颜色转换,则将其中所有转换计算成此属性的颜色转换。3.matrix:可以用来得到当前DisplayObject对象的转换矩阵4.concate 阅读全文

posted @ 2013-04-05 20:18 Jingle Guo 阅读(1577) 评论(0) 推荐(1) 编辑

ActionScript3(AS3)类库学习之(六)——用Point和Rectangle进行计算
摘要:Point和Rectangle都是flash.geom包里的类,在DisplayObject的方法中经常会被用到,他们本身也提供了一些方法能进行点,矩形间的基本操作。Point和Rectangle提供的一些计算函数完全可以用在程序中替换自己用Math类进行的计算。一.Point用来表示一个点1.构造和设置var pt1:Point = new Point(10, 20);var pt2:Point = new Point();pt2.x = 30;pt2.y = 40;var pt3:Point = pt1.clone();var pt4:Point = new Point();pt4.cop 阅读全文

posted @ 2013-04-04 15:28 Jingle Guo 阅读(1666) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(五)——EventDispatcher事件分发和监听
摘要:EventDispatcher类是处理Event事件的一个重要的基类,通过继承这个类或者实现IEventDispatcher接口,我们才能实现事件的分发和监听。一.自定义消息处理类1.通过继承EventDispatcher类来使用该类中消息处理的方法。这个方法最简单2.如果我们自定义的类需要继承自别的类,那么我们就需要通过实现IEventDispatcher接口来实现自己的消息处理类,如下例:class MyDispatcher implements IEventDispatcher { private var dispatcher:EventDispatcher; ... 阅读全文

posted @ 2013-04-03 20:45 Jingle Guo 阅读(1630) 评论(0) 推荐(0) 编辑

ActionScript3(AS3)类库学习之(四)——Event事件和定制自己的Event
摘要:Event对象在AS3的事件机制中具有重要的作用,它能存储特定事件的一些信息,比如鼠标事件存储鼠标的位置,它还包含一些能判断事件处理状态的属性,和一些能影响事件处理系统行为的方法。AS3中用Event类来作为所有Event对象的基类,这个基类位于flash.events package下。一.事件机制AS3将事件的处理过程分为Capturing,Targeting,Bubbling三个阶段。如下图所示,讲这个的文章很多,我就不多说了。1.当目标对象不在display list里面时,Flash Player会直接让目标对象来处理这个消息。2.某些特殊的事件,比如enterFrame和init事 阅读全文

posted @ 2013-03-31 22:14 Jingle Guo 阅读(1982) 评论(0) 推荐(0) 编辑

Flex学习记录(一)——MXML基本知识
摘要:我们使用两种语言来编写Flex程序:MXML和ActionScript。MXML是用来布局用户界面组件的XML标识语言,我们也可以使用MXML来定义一个程序的不可见部分,例如:到服务器数据源的访问以及用户界面组件和服务器数据源的数据绑定。一.简单的MXML新建一个HellowWorld.mxml文件,并拷贝下面的内容,看一下运行结果。<?xml version="1.0"?><!-- mxml\HellowWorld.mxml --><s:Application xmlns:fx="http://ns.adobe.com/mxml/2 阅读全文

posted @ 2013-03-31 07:48 Jingle Guo 阅读(8559) 评论(11) 推荐(1) 编辑