随笔分类 -  Flash

摘要:java和flash的垃圾回收都是一个比较热门的话题,今天我也用一个例子来测试下flash的强制垃圾回收。主要用到的而一个类是LocalConnection。 在Flash player的debug版本中提供了gc的方法 Flash Player初始化运行时,会向操作系统申请一大块内存,如果程序很小,有可能根本用不了这么多内存,但FP在开始时不考虑这些,大多... 阅读全文
posted @ 2011-09-05 13:58 Do.else 阅读(279) 评论(0) 推荐(0)
摘要:第一篇:基本应用 在塔防类、空战类游戏中,经常会出现同屏幕有很多对象的情况(如子弹)。而如果使用MovieClip来实现的话,当数量太多的时候,就会占用太多资源,令程序运行很慢。这个时候,可以通过使用图像缓冲来替代。同时,本文所描述的实现思路,也是一种将数据和显示分开进行的方法。在很多的游戏设计中经常会用到。 我们以同屏幕500个子弹为例,来看一下图像缓冲的实现方法。首先,来看一下总体... 阅读全文
posted @ 2011-09-01 16:52 Do.else 阅读(340) 评论(0) 推荐(0)
摘要:在AS3中另外一个比较涉及底层操作的类是二进制类ByteArray。这个类管理了一系列二进制数据。可以达到在字节层上的控制。二进制数据在网络传输时虽然在工作效率下有所下降,但却是最节省网络带宽的传输方式。 一,简介: ByteArray输入flash.util包,直接继承自Object对象。具有6个公共属性和33个公共方法。其中大部分是不同数据类型的写入和读取write&read。对ByteA... 阅读全文
posted @ 2011-08-29 14:59 Do.else 阅读(1765) 评论(0) 推荐(0)
摘要:******************************************* 二进制Socket是最好的选择,如果服务器端语言选择java,那么配合开源的AMF3,底层通讯是很简便的,完全省去了烦琐了打包解包过程。RTMP协议建议不要用来处 理纯数据应用,除非是中小型应用。只有在做流媒体应用时RTMP才是唯一的选择。 不过服务器最重要的并不是通信层,而是数据库的设计,持久层的设计... 阅读全文
posted @ 2011-08-26 17:43 Do.else 阅读(349) 评论(0) 推荐(0)
摘要:********************************************************* cacheAsBitmap这个属性很多人都知道,但少有人明白它到底是如何生效的。虽然看名字是转换为位图处理,但用起来的时候感觉却也不是如此。所以,不少人最终选择自己转换Bitmap。 当然,自己转Bitmap也是可以的,也只是多浪费点内存和处理速度,然后麻烦点罢了。但事实上,很... 阅读全文
posted @ 2011-08-26 16:01 Do.else 阅读(1526) 评论(1) 推荐(0)
摘要:当我要做的一款游戏,而无法即时地查看地图各图形元件的拼接效果,而导致不得不中止时,当时找过不少公开的地图编辑器,希望能拿来即用,但不是因为拼接效果不满意,就是因为生成的文件不是太满意。无奈之下决心自己动手写一个工具时,才知道有多少困难。 论坛里的相关帖子,基本上都试着各种关键词看了一遍,说实在的,感觉上,除了几个原来做过斜角地图编辑的,其余帖子里基本上是迷茫的 感觉坛子里像wangqia... 阅读全文
posted @ 2011-08-26 10:51 Do.else 阅读(1117) 评论(1) 推荐(1)
摘要:/*********************************/ 一般来讲,都是人物在背景中运动。然后再调整背景的位置使得它满足人物在中间的要求,如果超出屏幕则修正坐标使得不会出现背景外的空白区域。 如果不这样做的话,坐标系会很混乱。 上面那位说人物不动背景动的,还分情况的。如果有其他动态物品你想怎么处理,放背景层?那景深怎么做?不放背景层?那它们跟着背景一起动的时候,你还要循环遍... 阅读全文
posted @ 2011-08-24 15:50 Do.else 阅读(304) 评论(0) 推荐(0)
摘要:初始化符合对象的三种方式: 1、定义属性的时候初始化。缺点是不论复合的对象有没有用到,一定会被初始化,导致资源浪费。 另外,如果需要在运行的时候创建复合对象,这种方式也不行。 (比如某个复合对象是在类的某个地方才用的到的,只在用到的时候才初始化,那么这种方式就不合适。) 2、构造函数初始化。这种是在复合类对象创建时,被复合的对象才会被创建。但如果想在复合类对象构造函数被 调用... 阅读全文
posted @ 2011-08-24 15:47 Do.else 阅读(248) 评论(0) 推荐(0)
摘要:模块开发对于大项目而言还是蛮有用的。优点很多啊。使用flex进行模块开发还不错,毕竟人家都已经提供了module。我是没有深入研究它里面的实现。不过可以肯定的一点就是:使用Loader来载入各个模块,被载入模块依附主体模块。我说的依附,就是使用主体的类资源。 这个原理同样可以用在flash模块开发:在主swf中使用Loader来加载各个模块swf——当然是加载到同程序域(Application... 阅读全文
posted @ 2011-08-24 14:37 Do.else 阅读(325) 评论(0) 推荐(0)
摘要:本文转自:http://www.lite3.cn/blog/?p=49TweenLite下载地址:http://blog.greensock.com/tweenlite/为什么要用TWEENLITE而不用ADOBE官方的TWEEN?效率(这也是作者所标榜的TWEENLITE2大优点之一,呵呵,“标榜”这个词用得可能有点过了,不过人家确实有那个实力)这里有2者运行效率对比的例子:tweening-speed-testonComplete, onStart, onUpdate 等回调方法是TWEEN所没有的(TWEENLITE还可以往这些方法中传递任意个参数)智能的alpha(当alpha达到0时 阅读全文
posted @ 2011-08-10 10:10 Do.else 阅读(327) 评论(0) 推荐(0)
摘要:[AS3]ToolTip类的升级版http://www.klstudio.com/post/198.html国外的http://abrahamyan.com/2009/02/05/tooltip-in-as3/http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=2289526http://active.tutsplus.com/tutorials/effects/create-a-customizable-tooltip-in-actionscript-3-0/天地会http://bbs 阅读全文
posted @ 2011-07-08 13:49 Do.else 阅读(249) 评论(0) 推荐(0)
摘要:文件对象是啥?文件对象(File对象)是在文件系统中指向文件或目录的指针。由于安全原因,只在AIR中可用。文件对象能做啥?获取特定目录,包括用户目录、用户文档目录、该应用程序启动的目录和程序目录拷贝文件和目录移动文件和目录删除文件和目录(或移至回收站)列出某目录中的文件和目录创建临时文件和文件夹创建目录读取文件信息获取文件系统信息在AIR中,我们用FileStream读写文件的前提就是用File对象来指向文件。那么文件对象具体怎么玩呢?功能1、指向目录和文件File对象有两个属性都能定义文件路径,它们是nativePath和url。nativePath是在特定平台使用的文件路径(主要就是Win 阅读全文
posted @ 2011-07-08 10:34 Do.else 阅读(435) 评论(0) 推荐(0)
摘要:6月17日 今天遇到一个这样的问题.一个flex组件的属性总报null错误。 我是在这个组件的createcomplete事件里将它初始化的。 后来发现问题就出在这里。因为createcomplete也是一个 事件,所以这里产生了异步处理。所以后面接着调用组件的 属性时会出错。 另外,createcomplete是在“当组件完成其构建、属性处理、测量、布置和绘制时分派。 ” 我理解就是必须这个组件... 阅读全文
posted @ 2011-06-17 11:30 Do.else 阅读(190) 评论(0) 推荐(0)
摘要:来自帮助文档 关联数组 关联数组有时候也称为“哈希”或“映射”,它使用“键”而非数字索引来组织存储的值。关联数组中的每个键都是用于访问一个存储值的唯一字符串。关联数组为 Object 类的实例,也就是说每个键都与一个属性名称对应。关联数组是键和值对的无序集合。在代码中,不应期望关联数组的键按特定的顺序排列。 ActionScript 3.0 中引入了名为“字典”的高级关联数组。字典是 flash.... 阅读全文
posted @ 2011-06-15 15:11 Do.else 阅读(260) 评论(0) 推荐(0)
摘要:编辑器加载中...Flex应用程序可能有复杂的结构但它们通常都是由多个MXML,Actionscript 以及CSS文件组成。在单个文件里编写整个程序不是一个最佳实践。那样会使代码难以维护和重用,而且程序没有被架构成逻辑上的各个部分。Flex允许开发者将一个工程分成外部的模块,创建分离的MXML文件并且单独维护它们。将Flex程序分离成各个逻辑模块有很多好处。它允许开发小组独立地开发和调试单个模块,模块中的错误和功能可以被独立出来。这使得代码变得容易维护,也提高了代码在多个应用程序间的重用性。每个MXML文件是一个MXML组件,但是只有主MXML程序可以加载外部组件。事实上一个应用程序中只能有 阅读全文
posted @ 2011-06-02 13:13 Do.else 阅读(671) 评论(0) 推荐(0)
摘要:地图编辑器一般分为5个层,分别是马赛克层。背景层,网络层,路点层和建筑人物层你在定义xml格式的时候。就必须把这5个层的排列和关系考虑好。马赛克层是在地图没有加载完成。用来遮盖地图的。所以一般来说是先加载马赛克层然后是背景层。如果你的加载模式是分块加载,在xml里就应该有对应的图片地址。网格层是辅助层。是帮助你在安装建筑时起到标尺的作用在导出的地图包中有可以没有网格层的数据,但是在地图解释器里出有对应的网格生成方法。这样,可以即时检查解释地图建筑位置是否出错路点层确定你的地图的行走区域,如果说哪些是障碍点。哪些是可通行点。这些都是在路点层表现的。最后就是人物建筑层了。这个层全是存放你的建筑,N 阅读全文
posted @ 2011-05-31 22:12 Do.else 阅读(195) 评论(0) 推荐(0)
摘要:http://hi.baidu.com/aidfan/blog/item/865cc624ddb5500c4c088dc3.htmlhttp://www.flashj.cn/wp/air-file-operation3.html除非是AIR,FP不提供读写本地文件的功能。只有用flash.net.FileReference类,用文件选择框的方式。但在FP9中,下载到本地必须指定一个网络地址,所以又必须通过后台将XML存入网络再下载。我知道这不是你想的。你现在做的只是将增加的数据加入内存中的XML,文件里的并没有变化。如果想文件里的变化,一是用上面的方法,二是用FLEX4的SDK,它的FileR 阅读全文
posted @ 2011-05-30 17:36 Do.else 阅读(158) 评论(0) 推荐(0)
摘要:一般我们谈到FLEX,首先想到的就是它的组件框架。然而,FLEX SDK与FLEXBuilder其实两个不同的产品,一个是开源免费的,一个则不是。后者是前者的支持,但并不是只能作为前者的支持。当建立AS project项目的时候,FLEX Builder只会使用FLASH的内置类库来进行编译,所以和通常意义的FLEX完全不同,而是区别于FLASH的另一种编译AS文件的手段。下面将会就如何将一个项目从使用FLASH CS3/4迁移至FLEX Builder做出说明。一个具体项目,是由表现与逻辑两部分组成的。FLA内的图形元件是表现,而AS则是逻辑。所以我们首先的问题就是,如何将表现与逻辑联系在一 阅读全文
posted @ 2011-05-27 13:52 Do.else 阅读(497) 评论(0) 推荐(0)
摘要:即时游戏通信所有逻辑实际发生的时刻都在服务端,只有当数据发送到服务端时,事件才真正发生。客户端的操作应该是立即响应的,必须先行动,才发送数据。导致的结果是,客户端的事件发生时间和服务端是不同的。自己的行为会比服务端早,别人的行为会比服务端晚。由于具有时间差,客户端完成的行为可能会和服务端实际发生的行为不同。这时候就只能由服务端校正客户端,但只有在出现冲突时才需要校正,而不用校正所有的差异。当客户端必须从服务端获得数据才能继续逻辑的时候,自然只能等待服务端返回才会出现事件,但是服务端的事件会先发生。服务端发送的事件,客户端必须无条件接收,无论当时看起来是否合理。行走,应该认为是客户端在实际远程操 阅读全文
posted @ 2011-05-27 10:36 Do.else 阅读(187) 评论(0) 推荐(0)
摘要:1.as的socket---》服务器的socket(比如java) 优势:方便,统一,可能好多服务器端游戏框架都是用这个做借口 缺点:属于tcp编程,需要和服务器端建立一个连接,服务器资源利用会有点紧张2.as的http组件,类似ajax的访问 优势:用http的方式,和服务器不建立长连接,只是瞬间链接后就释放,不会有长连接资源消耗,80端口规范,可扩展性强 缺点:需要持续的发生请求获得最新的信息,发送请求过于频繁,在人数多的情况下,无论是服务器cpu还是带宽都是消耗很大3.as->js-->服务器 优势:也是用http,可以用ajax做跳板,可以运用成熟的ajax框架 缺点:好像 阅读全文
posted @ 2011-05-20 17:48 Do.else 阅读(290) 评论(0) 推荐(0)