当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 编程深层次应用-复杂游戏(4)

Flash动画制作
赤手空拳下载Flash
创建一个Flash站点的十大技巧
用Flash制作Google搜索程序
枫桥夜泊下 遮罩效果的动态文本
Flash MX 2004 ActionScript图文教程(十二)
Flash实例教程 扫描文字效果
Flash MX 2004 ActionScript图文教程(十三)
快速制作您的flash图表
Flash MX 2004 ActionScript图文教程(十四)
Flash实例教程 变幻的字母
Flash MX 2004 ActionScript图文教程(十五)
Flash实例教程 相约北京 扬帆青岛
Flash教程实例 光线特效文字
Flash课件实例 画正多边形
Flash课件实例 平行四边形法则
Flash实例教程 小孔成像课件
精简Flash文件体积七法
Flash教程实例:水中浮动的文字
金鸡贺岁!Flash制作鸡年新春动画贺卡
Flash MX 2004新特性实例学习一

Flash动画制作 中的 Flash MX 编程深层次应用-复杂游戏(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 91 ::
收藏到网摘: n/a

5.4 如何对付游戏修改工具

    

在本书的精华集1中讲解了游戏计算得分的方法。这些方法对普通的小游戏足够用了,但是在一些大型的、商业的游戏中会显得不足。玩游戏的人都知道有个整人专家(FPE),是专门来修改游戏的。它的运行方式就是从内存中查找出游戏主角的某些属性的存放地址,然后将这些属性改成需要的任何数值;或者把某些数值(比如生命值)锁定,然后游戏就成了不死版本。这类工具对于游戏同样适用,这就给Flash游戏编程人员提出了更高的要求。如何来对付这种游戏修改工具呢?办法是有的,下面列出几种方法来对付这种工具。

分数加密法

在客户端积分使用加密保存,而且使用图形量化显示(比如街霸那样的生命血),这样作弊者除非跟踪传送的数据(还有一种工具是可以截取并修改这种传送数据的),否则就无法看到最后呈报给的积分。至于分数加密的办法就多了,比如说按位异或,加大或者减小相应的倍数、转换成字符串保存,转换成进制字符串保存等。

时间控制法

可以把分数和游戏的事件联系起来。首先设定一个定时器,定时去判断分数变化是否异常,比如说分数增加得快到游戏中不可能的情况时,就用备份的分数覆盖分数变量。如果没问题,用当前分数的值覆盖备份的分数变量。这种办法从理论上看可行,但是实际上有一个新问题,就是如何保证备份的分数数据不被修改。这个当然也有办法,就是对备份的分数进行运算。这等于在第一种办法上加了一个双保险。

欺骗法

在用前面的办法处理这些数据之后,有意用一个变量来存放这个数值,然后根本不用这个变量来控制,结果就是通过修改工具的确找到了要找的内容,但是改了之后根本不会影响游戏的得分。

拆分法

可以把得分的值分解成两块甚至更多块,其中一块的值用随机数产生,然后再用得分减去这个随机数,得到实际的值。结果不言而喻,两个地方的值全是随机数,让修改工具无法找到。而每次得分变化时就取这两个地方的值拼起来,然后再加上新增加的分数减去随机数来计算出另一个位置的值。

存放地址重新分配法

前面用的方法都是数值保护法,还有一种办法就是地址保护法,也就是让这些数据每次存放的地址不同,这样通过修改工具无法锁定一个地址来查找!在Flash中有new命令,可以创建新的对象,通过这个命令就可以动态修改变量存放的地址。

    

上面提到的这些办法都是一些理论上的办法,而且不一定是针对得分的,还可以保护生命值、战斗力等相关数据。当然,在实际应用过程中还要根据游戏的内容来创新,创造出一些更好的加密方法。