- 博客(74)
- 资源 (17)
- 收藏
- 关注
原创 Loader类中方法unload()与unloadAndStop(gc)方法的使用
unload()方法 public function unload():void语言版本: ActionScript 3.0运行时版本: AIR 1.0 Flash Player 9, Flash Lite 4删除此 Loader 对象中使用 load() 方法加载的子项。将关联 LoaderInfo 对象的 property 重置为 null。不必破坏子级,因为其他对象可能要引用它;但是,它不再是 Loader 对象的子级。 最佳做法是,在卸载子 SWF 文件之前,您应该显式关闭子
2010-10-31 21:48:00 2264
原创 Flash 平台技术的优化(四) 事件模型与回调
考虑使用简单的回调代替事件模型。ActionScript 3.0 事件模型基于对象调度的概念。事件模型是面向对象的,可以进行优化以重复使用代码。dispatchEvent() 方法循环访问侦听器列表,并对各个注册的对象调用事件处理函数方法。然而,事件模型的一个缺点是可能要在应用程序的生存期内创建许多对象。假设您必须从时间轴调度一个事件来指示动画序列的末尾。要实现此通知,您可以从时间轴中的特定帧调度一个事件,如以下代码所示:dispatchEvent( new Event ( Event.COMP
2010-10-31 21:11:00 702
原创 Flash 平台技术的优化(三) 文本对象和内存
将新文本引擎用于只读文本;将 TextField 对象用于输入文本。Flash Player 10 引入了一个功能强大的新文本引擎 flash.text.engine (FTE),该引擎可以节省系统内存。但是, FTE 是一个低级 API,要求在其上使用其他 ActionScript 3.0 层。对于只读文本,最好使用新文本引擎,它占用较少的内存并提供更好的呈现效果。对于输入文本,最好使用 TextField 对象,因为在创建典型行为(例如,输入处理和自动换行)时需要的 ActionSc
2010-10-31 21:07:00 625
原创 Flash 平台技术的优化(二) 节省内存
节省内存 对于应用程序(尤其桌面应用程序)开发一直非常重要。然而,内存的使用量对移动设备来说非常重要,因此有必要限制应用程序占用的内存量。显示对象选择适当的显示对象。ActionScript 3.0 包含很多显示对象。要限制内存用量,最简单的优化技巧之一是使用合适类型的显示对象。对于非交互式简单形状,请使用 Shape 对象。对于不需要时间轴的交互式对象,请使用 Sprite 对象。对于使用时间轴的动画,请使用MovieClip 对象。应始终为应用程序选择最有效的对象类型。以下
2010-10-31 20:42:00 1072
原创 Flash 平台技术的优化(一) 运行时代码执行基本原理
了解如何改进应用程序性能的关键是了解 Flash 平台运行时如何执行代码。运行时在一个循环中运行,其中某些操作是针对每个“ 帧” 发生的。在这种情况下,帧只是由为应用程序指定的帧速率决定的一段时间。分配给每个帧的时间直接对应于帧速率。例如,如果指定帧速率为 30 帧/ 秒,则运行时会尝试使每个帧的执行时间为三十分之一秒。可以在创作应用程序时指定初始帧速率。可以使用 Adobe® Flash® Builder™ 或 Flash Professional 中的设置来设置帧速率。还可以在代码中指定
2010-10-31 19:20:00 929
原创 提升效率
优化显示:透明效果,滤镜,缩放以及旋转可以产生分成绚丽的效果,但是这些效果同时也吃掉了很多的CPU,所以在游戏中尽可能用位图代替这些效果。<br />流畅的逻辑运算:另外一个瓶颈是游戏中的逻辑判断。尽量减少不必要的判断,取消程序中的那些临界近似值的判断。出来显示问题,优化逻辑判断是提高游戏性能最为显著的一个。<br />使用Vector类存储一组相同类型的数据:Flash player10引入了Vector类。除了要求存储数据必须是同一种类型外,它的功能和Array类完全一致。但是如果当
2010-10-26 18:26:00 406
原创 继承父类的两种情况
在as3中如果继承的子类中1.没有加入构造函数,子类将会调用父类的构造函数2.子类中有构造函数,但是没有调用super(),同样子类会调用父类的构造函数看下面的例子1:package{ public class A { public function A() { this.initA(); } private function initA():void {
2010-10-23 16:25:00 457
原创 使用Loader载入和组织资源分布
<br />对于一个大型应用程序,资源和代码不可能全部包含在一个swf文件中。资源应该分布到不同的位置,就像组建网站一样。网站是依靠网页组建成整个网站的框架,每个网页通过标签载入外部文件。在页面中标签可以载入外部内容,也可以通过标签把部分内容写在网页中,例如js代码和xml文件。as3应用程序的组织与网站管理类似,支撑网站架构的是swf文件,实现载入的不是标签,而是Loader加载器。<br />虽然b/s结构的as3应用程序也以网页形式出现,但是网页只起到辅助作用,网页使用activeX控件播放swf文件
2010-10-23 14:58:00 812
原创 TextField类中embedFonts属性的使用
指定是否使用嵌入字体轮廓进行呈现。如果为 false,则 Flash Player 使用设备字体呈现文本字段。 如果将文本字段的 embedFonts 属性设置为 true,则必须使用应用于该文本字段的 TextFormat 对象的 font 属性来指定该文本的字体。如果指定的字体没有嵌入 SWF 文件中,则不会显示该文本。默认值为 false。 如果将该值设为true,但是并没有嵌入字体的话,textField将会无法正常显示
2010-10-22 11:17:00 987
转载 Flash Socket底层接受数据的初级处理
<br />用flash去开发应用,,免不了网络通讯,特别是网络游戏,需要用到即使通讯。<br />as3提供了两个支持即时通讯的类:XMLSocket和Socket,前者其实是只支持发送字符串,而后者就强大多了,支持发送字节,相对来说比较底层,而这也给我们更多的发挥空间。<br />其实,flash socket的网络底层接受数据,就以与C++服务器通讯为例子,C++服务器一般会发一段一段数据过来,每段数据都是由一定结构组成的,一般是消息头和消息头,然后再逐步分层解析。<br
2010-10-21 23:29:00 581
转载 TweenLite 使用详解(译文)
<br />TweenLite 是一个缓动的类包,功能强大,并且易于使用,为了更多的(E文欠佳的、初学的)朋友了解它,使用它,特此翻译了一下TweenLite 类文档中的说明文件,主要是对参数的说明,希望对大家有用。<br /><br />TweenLite.as<br />/*<br />版本: 8.02<br />日期: 8/24/2008<br />ACTIONSCRIPT 语言版本: 3.0 (AS2 版也有提供)<br />更新 及 更多文档请访问: http://ww
2010-10-21 22:54:00 864
原创 设定时间运行函数方法:setInterval与clearInterval
setInterval()函数 public function setInterval(closure:Function, delay:Number, ... arguments):uint语言版本: ActionScript 3.0运行时版本: AIR 1.0 Flash Player 9以指定的间隔(以毫秒为单位)运行函数。 作为使用 setInterval() 方法的替代方法,请考虑创建一个 Timer 对象,带有指定的间隔,并使用 0 作为 repeatCount 参数(
2010-10-21 21:54:00 2321
原创 在函数中arguments的使用
<br />用于存储和访问函数参数的参数对象。在一个函数体内,可以使用局部参数变量来访问其参数对象。 <br />这些参数存储为数组元素:第一个存取为 arguments[0],第二个存取为 arguments[1],依此类推。arguments.length 属性表示传递给函数的参数数目。传递的参数数目可能与函数声明的数目有所不同。 <br />与以前版本的 ActionScript 不同,ActionScript 3.0 中不包含 arguments.caller 属性。要获得对调用当前函数的函
2010-10-21 21:36:00 695
原创 as3中函数传值是按引用来还是按值来传入参数
<br /> 在Actionscript3中所有的参数都是按引用引入的,只不过,基元数据类型是不变对象,传引用和传值的效果一样,所以,如果参数是基元数据类型,那么可以看成是传值;如果参数不是基元数据类型,那么就是传引用
2010-10-21 21:23:00 1006
转载 抽象类与接口
最近在做一些AS3项目,有两大问题让我感觉比较头痛的。一是垃圾回收器。由于AS3垃圾回收机制跟AS2有质的区别,但是做的时候又没有了解过这个问题,做了大半才知道,实现AS3的垃圾回收还需要在开发前做好一个相关的架构......这个有位据说是举世闻名的架构师写了相关文章......可惜我哪怕看懂了还是要重写很多东西......另一个则是我在这篇文章要说的接口,虽然在目前的项目里还不是特别需要用上,但是,一直都有人强调接口在OOP里的重要性,但是无论是上网查资料还是看书,都似乎是要让我浅尝辄止,讲的
2010-10-21 17:40:00 519
原创 AS3多态中的向上转换
<br />多态是OOP编程中的一个重要成员,可以说它对OOP起着很大的作用,也极大的方便了我们的程序设计。那么多态到底是一个什么样的成员呢?多态是什么样子的呢?多态到底在哪里得到应用呢?我们将在本节中进行一系列讨论!<br /> 多态的实际含义就是多种形态,也就是说一小段代码可以实现几个不同的功能,这就是多态。那么多态是通过什么手段实现的呢?这里我们就要联系到上一节中的内容了—“接口”。笔者研究认为多态的最终实现往往是依赖与接口的,而实现多态的另一个组成部分则是—“抽象类”,还有继承。
2010-10-21 16:01:00 667
原创 多态(Polymorphism)
<br />5.1多态的概念<br /> 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。<br /> 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)<br /> 实现多态的技术称为:动态绑定(dynamicbinding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用
2010-10-21 16:00:00 776
原创 FLASH sharedObject(cookies) 写入文件信息,及文件保存目录
<br />创建对象并写入信息:<br />import flash.net.SharedObject;<br />var items_array:Array = new Array(101, 346, 483);<br />var currentUserIsAdmin:Boolean = true;<br />var currentUserName:String = "Ramona";<br /><br />var my_so:SharedObject = SharedObject.g
2010-10-21 15:21:00 938
原创 关于类,接口,多态,工厂方法的实例
实现结果:用户可以输入几何形状(circle,triangle,square)和形状在小(边的长度sideLength),程序自动得出关于该几何形的相关信息(是什么形,面积,周长,角度和) 首先想到为3个形状做3个类,每个类里都有describe()这个方法,用来输出此形状的相关信息。然后再弄一个类,用来判定是用户输入的是哪个形状,创建几何形的实例对象。 用接口去实现。把共同都要执行的方法(尽管执行的内容不同),写在一个接口里。这样就可以利用“多态”来实”完全相同的方法调用会导致执行不同的代码,这取决于要调
2010-10-21 15:20:00 505
原创 使用SharedObject存储对象地址
我的电脑系统是c盘,sharedObject存储的地址是:C:/Documents and Settings/Administrator/Application Data/Macromedia/Flash Player/#SharedObjects
2010-10-21 15:14:00 671
原创 ActionScript 3 中的强制类型转换
<br />每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。但是虽然我编写了不少Flex程序,对 AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:<br /><br />Class2(c1);<br /><br /> 在AS3中你依然可以这样写,但是AS3 中提供了一个新的操作符: as ,并且推荐使用as
2010-10-21 14:00:00 500
原创 OOP之多态的艺术
见代码:说说最终输出结果。 请不要用IDE,写下你的答案,说明理由。package { public class A { public function A() { } public function test():void { trace("A类的方法");
2010-10-21 13:31:00 345
原创 BitmapData类介绍
注:文中的Bitmapdata和BMD均为同一意思BitmapData,BMD为其缩写------------------------------------------------------------------------------------------------------------今天介绍另外一个比较常用和中高级难度的类:BitmapData用好这个类,可以说是半支脚踏入了Flash高手的大门···(主要是不是太多的人精通这个··呵呵··)我也可以趁这篇文章的机会
2010-10-21 10:18:00 862
原创 观察者模式
<br />观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己<br /><br />观察者模式的组成<br /><br />1.抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实现<br />2.抽象观察者角色:为所有具体的观察者定义一个接口,在得到主题的
2010-10-20 09:37:00 822
原创 命令模式
<br />命令Command模式是GOF23种模式中的一种,是一种行为模式。这种模式很难理解。《设计模式》一书中对它语焉不详。而网上的一些文章对其的解释也是错误的。<br />实际上,命令模式并不是那么神秘。本文中我会简单的告诉你什么是命令模式,怎样使用命令模式。<br />命令模式的理解,关键有2点:<br />一、使用接口---实现类的方式。<br /> 通常命令模式的接口中只有一个方法。<br /> 实现类的方法有不同的功能,覆盖接口中的方法。<br /> 在面向对象编程中,大量使用i
2010-10-20 09:36:00 420
原创 连接到套接字
<br />默认情况下, Flash Player 会从端口 843 查找套接字策略文件。和 URL 策略文件一样,此文件称为“ 主策略文件”。<br />在 Flash Player 6 中首次引入策略文件时,并不支持套接字策略文件。与套接字服务器的连接由默认位置中的一个策略文件授<br />权,该默认位置是套接字服务器所在主机的 HTTP 服务器的端口 80。Flash Player 9 仍支持此功能,但 Flash Player 10 不再<br />支持。在 Flash Player 1
2010-10-19 17:44:00 569
原创 网站控制(策略文件)
<br />要使来自 Web 服务器的数据可用于来自其它域的 SWF 文件,可以在服务器上创建一个策略文件。“ 策略文件” 是位于服务器<br />上特定位置的 XML 文件。<br />策略文件可影响对许多资源的访问,其中包括以下内容:<br />• 位图、声音和视频中的数据<br />• 加载 XML 和文本文件<br />• 将 SWF 文件从其它安全域导入到执行加载的 SWF 文件所在的安全域<br />• 对套接字和 XML 套接字连接的访问<br />ActionSc
2010-10-19 17:39:00 601
转载 将您的Flex组件从MXML迁移至ActionScript 3
<br />目前,我们了解到有相当多的途径,可以用来在Actionscript 3的开发环境中构建框架,这是一个很好的迹象。可见开源社区是一个充满活力,富有创造性的地方,那些令开发工作变得更加简单的工具都是很好用的东西。经历了过去一年的发展,Robotlegs AS3得到了快速的推广和广泛的采用。目前,Robotlegs AS3已经广泛应用在主流媒体,创业公司以及各种规模的企业之中。<br /><br />本文是InsideRIA社区中首发的关于Robotlegs 的系列文章之一。 在接下来的几个星期
2010-10-19 13:12:00 702
原创 flash 与 java 类型对应
flash和java有相互映射的类型,如果是多个object,就把这些object放到array里面然后传过去。Object对应java的Map或HashMap,Array对应java的List
2010-10-17 12:48:00 504
原创 MINA TCP 粘包 少包最终解决方案
<br />应用CumulativeProtocolDecoder<br />/*<br /> * Licensed to the Apache Software Foundation (ASF) under one<br /> * or more contributor license agreements. See the NOTICE file<br /> * distributed with this work for additional information<br />
2010-10-15 11:24:00 1798
原创 MINA2中的拆包组包的处理及一些方法
<br />1.position <br /><br />例: <br />position() <br />第一次使用返回值为当前位置:0 <br /><br /><br />position(8) 返回第8个字节以后的数据(包括第8个)可以和 limit 联合使用 <br />如: <br />buffer.position(3); <br />buffer.limit(7); <br />ByteBuffer slice = buffer
2010-10-15 11:18:00 1400
原创 如何获取AMF3对象类名
<br />对不熟悉AMF3的人来说,这名词有点玄乎,AMF3不过两个函数而已<br /><br />//编码(把对象序列化成AMF3)<br />1 bateArray.writeObject(obj:Object):void<br /><br />//解码 (反序列化,获取对象)<br />2 bateArray.readObject():Object<br /><br />如果需要序列化的对象就是一个哈希map(key-value的集合),那么一切正常<br />但是如果你要序
2010-10-15 10:31:00 898
原创 Mina使用AMF3与Flash Socket通信的"粘包"问题
项目结构图如下:<br /><br />方式: 服务端通过把要发送的数据(这里发送的是对象)编码为amf3格式, 再通过java.util.zip.Deflater 进行压缩,再把压缩后的数据发往客户端.<br /> 客户端通过ByteArray.uncompress() 方法解压, 再通过ByteArray.readObject()方法读取数据(服务端发送的是对象).<br />mina的文章网上很多, 此项目不再解释.<br />复制代码即可运行.说明: 由于使用的nio流在进行
2010-10-14 22:43:00 3336
原创 AS3作用域规则–this指向哪里
<br />还是看个例子:package{importflash.display.Sprite; publicclass scope_test extends Sprite{publicfunction scope_test(){ fee()(); } privatevar i:int = 1; privatefunction fee():Function{var i:int = 2; var
2010-10-14 10:44:00 847
原创 AS3作用域规则–我对闭包(closure)的理解
<br />接着上一篇 静态作用域 的论述。 有时候我想,这样的作用域是如何实现的呢。as3 和 flash player 本身没有开放,我在这里做的也只是猜想,像一些胡言乱语者一样拿一些理论往里套而已。要理解作用域规则就不得不提到“闭包”(closure)的概念。要知道在as3的世界里一切都是对象,方法也是对象。闭包一般就是针对方法对象的。方法内部的变量可以认为是方法对象的对象属性。<br />我在livedocs上搜到两个概念的解释,其中一个是作用域链(scope chai
2010-10-14 10:42:00 1082
原创 AS3作用域规则 — 静态作用域
<br />as3的作用域让人感觉有点乱,不知道改如何专业的解释,最近一直在看 python 源码分析,受了些启发。也许as3也遵守这种静态作用域规则,感觉所有的动态语言都有异曲同工之妙吧。<br />静态作用域(static scope,也叫lexical scope,字面作用域),是一种根据语言文本的位置确定变量引用的规则。我从wikipedia上找到一个解释:<br />With static scope, a variable always refers to its top-lev
2010-10-14 10:39:00 795
原创 flash AS3函数闭包代码
闭包是可以包含自由(未绑定)变量的代码块; 这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的 闭包是可以包含自由(未绑定)变量的代码块; 这些变量不是在这个代码块或者任何全局上下文中定义的,而是在定义代码块的环境中定义。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量的存在,相关变量引用没有释放)和为自由变量提供绑定的计算环境(作用
2010-10-14 10:22:00 1094
原创 深入理解Apache Mina (6)---- Java Nio ByteBuffer与Mina ByteBuffer的区别
<br />为了对后续关于Mina的ProtocolFilter(编解码器)的编写有一个更好的理解,本文讲述一下关于Mina ByteBuffer和Java Nio ByteBuffer的区别。关于Java Nio ByteBuffer和Mina ByteBuffer及其子类的类图在附件中都已经给出了。因为Mina的ByteBuffer在Mina 2.0以上的版本中都改称IoBuffer。为了使后文关于ByteBuffe
2010-10-14 09:48:00 1654 1
原创 深入理解Apache Mina(5)---- 配置Mina的 线程模型
<br />在Mina的使用中,线程池的配置一个比较关键的环节,同时它也是Mina性能提高的一个有效的方法,在Mina的2.0以上版本中已经不再需要对Mina线程池的配置了,本系列文章都是基于当前的稳定版本Mina 1.1.7版来进行讲述的,Mina的2.0以上版本现在还都是M(millestone,即里程碑)版的,在1.5版本上2.0M版为稳定版本,但是在1.5+以上则为非稳定版本,所以,为了更好的进行讨论和学习,还是基于Mina 1.1.7版本进行讨论,如果使用Mina 2.0进行开发要
2010-10-14 09:41:00 2403 1
原创 Mina状态机介绍(Introduction to mina-statemachine)
<br />如果你使用Mina开发一个复杂的网络应用时,你可能在某些地方会遇到那个古老而又好用的状态模式,来使用这个模式解决你的复杂应用。然而,在你做这个决定之前,你或许想检出Mina的状态机的代码,它会根据当前对象的状态来返回对接收到的简短的数据的处理信息。<br /> <br />注意:现在正式发布Mina的状态机。因此你要自己在Mina的SVN服务器上检出该代码,并自己编译,请参考开发指南,来获取更多的关于检出和编译Mina源码的信息。Mina的状态机可以和所有已经发布的版本Mina配合使用(
2010-10-14 09:39:00 1731
Cocos2d-x实战 Lua卷.pdf
2018-09-11
我所理解的Cocos2d-x ,秦春林编著 ,P4381.pdf
2018-08-29
3D数学基础:图形与游戏开发高清带目录中文版.pdf
2017-07-03
xcode配置iOS10.3开发包
2017-03-29
WebGL编程指南
2016-02-20
用ActionScript开发高级可视化组件
2009-10-05
CSS.Mastery.精通CSS(中文版).part02
2008-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人