2007年05月
玩家移动信息同步例子,我已经写过了两个版本的啦,一个java的,一个是fms的,现在又写了个red5的,其实这些的原理都是差不多的。以前好象没怎么讲解原理,这些就写得详细点吧。用red5做服务器,其实客户端基本是fms一样的。(事实上就是一样,哈哈)。无非就是客户端呼叫服务端的方法,服务端呼叫客户端的方法。(这是同步是没有采用ShareObject的,过阵可能会写吧)阅读全文>
发表于 @ 2007年05月30日 17:02:00|评论(loading...)|编辑
呵呵~~看到有朋友问,所以就顺便写一下,也许还有其他的朋友不知道arguments 对象用于存储和访问函数的参数。这些参数作为数组元素存储,第一个参数作为 arguments[0] 被访问,第二个参数作为 arguments[1] 被访问,依此类推。arguments.length 属性表示传递给函数的参数数目。请注意,传递给函数的参数与该函数声明的参数的数目可能不同。对调用当前正在执行的函数的函数的引用;阅读全文>
发表于 @ 2007年05月16日 16:55:00|评论(loading...)|编辑
于是我用WinHex分别打开一个swf文件和由它生成的exe文件,经过仔细分析对比后,我不仅发现了swf文件转变成exe可执行文件的秘密,并且将Flash自带播放器具备而控件却无法实现的那些功能的谜底也同时解开了。既然要“解剖”swf文件我们就要有“解剖”工具,我使用的是WinHex 9.2,你也可以用其它的二进制编辑器来查看。在播放一个swf文件之前,可根据此值与当前播放器控件的版本号比较,看是否需要更新。以上表格中所展示的是swf文件的结构,通过它你就能很清楚地明白哪部分对你编程有用,哪部分可以解决长期困绕的你的问题,怎么样?阅读全文>
发表于 @ 2007年05月12日 01:09:00|评论(loading...)|编辑
swf文件的整体结构是 header + body的组成。
文件的开始是一个[文件头]
它的结构如下:
字节 名称 说明
1 Signature “F”表示非加密格式,“C”表示加密格式
1 Signature “W”无特殊意义
1 Signature “S”无特殊意义
1 Version 版本号,它表示对应播放器版本
4 FileLength 整个文件长度,低位在前
N FrameSize RECT结构体,表示屏幕大小,具体结构和长度根据数据变化,分析方法另外讨论。
2 FrameRate 帧频,默认为12,高位在前
2 FrameCount 帧数,表明文件根下的帧数,低位在前
阅读全文>
发表于 @ 2007年05月12日 01:02:00|评论(loading...)|编辑
字节 名称 说明 1 Signature “F”表示非加密格式,“C”表示加密格式 1 Signature “W”无特殊意义 1 Signature “S”无特殊意义 1 Version 版本号,它表示对应播放器版本 4 FileLength 整个文件长度,低位在前 N FrameSize RECT结构体,表示屏幕大小,具体结构和长度根据数据变化,分析方法另外讨论。以上是swf中,最简单的一个tag,一个完整的swf文件是由很多独立的tag组成的。DefineFont2 定义了一个字体信息, DefineEditText引用了定义的字体,并定义了显示的文字信息,而PlaceObject引用了定义的文字信息,并控制了文字的显示。阅读全文>
发表于 @ 2007年05月12日 00:44:00|评论(loading...)|编辑
1.Duplicated Code
代码重复几乎是最常见的异味了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO是一个好系统的重要标志。
2.Long method
它是传统结构化的“遗毒”。一个方法应当具有自我独立的意图,不要把几个意图放在一起。
阅读全文>
发表于 @ 2007年05月03日 14:27:00|评论(loading...)|编辑