当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

Java游戏中迟误下载资源及调用示例[Java编程]

赞助商链接



  本文“Java游戏中迟误下载资源及调用示例[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

诚恳说,耽误下载游戏资源及调用只是一种帮助手段,与游戏开辟本身关系并不大,实质也无非只是文件下载及文件读取的混用.但考虑到上周有网友问及此类问题,笔者认为与其回邮件单独注释,倒不如写篇博文看起来更具体清楚,还能使大家帮忙笔者斧正刊误,故成此文,仅供参考.

普通来说,我们之所以会需求通过下载方法加载游戏资源,无非是出于以下几种目的:

1、精简游戏体积:

假定我做了个100MB的游戏,却非想把它宣扬成唯一1MB的精良程序,这时我该怎么办呢?

去拐骗用户,用大量复杂的技术名词忽悠他们说1MB和100MB等值吗?——用户不是傻子,至少不都是傻子,无论你的话术多么巧妙,也很难让绝大部份人都相信1MB和100MB是一样的.但谎言已然出口,始终要想办法办理.

其实呢,在现有技术体系下,要搞定他们好简单的,只需将游戏初始界面混合下载器打包成1MB的文件公布,再“骗”他们下载履行,此后——就让他们渐渐等候系统加载剩下那99MB吧!毕竟没人说过这个游戏不需求额外的网络资源同步嘛……

2、网游资源的耽误加载需求:

目前的网络游戏——分外是网页游戏,为了尽大概的削减不必要的资源损耗,提高运行效率,大大都时刻并不会一口吻将全部资源都加载到游戏中,而是“大而化之,分而治之”,将游戏资源构建成一个个小小的资源包,仅仅在需求时,才或同步、或异步的加载到游戏中.这也恰是我们在很多网游中所见到的,当角色过屏、读取新地图或遭受新怪物时,画面会呈现稍候字样大概部份马赛克乃至停顿的缘由.

故此,通过网络合时地去加载需求的资源,几近已成为网游开辟中必不可少的本领之一.

3、融入特别的加密解密机制:

我们都知道,但凡是人所做出的程序,就没有人所不能破解掉的.但是——却极大概发生一个人做出来的程序,另一个人数年之内无法破解的现象.而当数年之后,另一个人破解出来时,这段程序却早已过气,白送都没人要了.

因此,当你极度的不想自己游戏被反向工程——特别是想保护Java这种极好反编译的代码时,通过网络下载的另一种意义便显现出来了.你可以将下载的jar 或class乃至别的各种保存到一个差别于履行目录的“隐秘”场所,并且无论密钥也好,特别构造也罢,总之变着方的将资源加密混合,就算混合到连你自己都不知道这是什么东西也无所谓——能注释成字节码就好,最大限度的增添反向难度.而当你履行完毕,再一删了事——下次还可以再下嘛.这样做的话,固然不能完好根绝代码被他人盗用,但,至少也可以让反向我代码那哥们累掉层皮(^^).

4、本地程序及资源合理性考证:

在大大都网络游戏中,为了保证用户不做出一些诸如利用外挂的“犯规”行为,是会对系统环境乃至封包数据举行合理性考证的,而一旦发现“不法”的东西存在,则会令“违法”玩家吊线大概干脆封号以示惩罚.

但这些考证,主要都只针对程序“外部”,即当“犯规”对象“不是我的游戏时”才能施展功效,但万一“犯规”者“来自游戏本身时”大概“考证程序认为来自游戏本身时”,则变得无能为力,这也是为什么大大都网游都“内挂”泛滥的来由.

幸运的是,Java程序由于其“天资所限”,是很难在虚拟机外部被攻破操纵的,假如用Java制作网游,原则上大可没必要耽忧“内挂”问题——但,这也有个大前提,那就是在“内挂”运行于虚拟机之外时才行的通.

而假如“内挂”运行在虚拟机之内呢? 假如我的“内挂”是一小段插入原始游戏中的代码呢? 要知道,动态加载class,动态改正字节码,早就不算什么事情了.

这时,就需求校验Java程序的合理性.

本来要考证这种事情是对比耗费时间的,但假如我们擅长操纵每次下载资源(对比大的,比方过图大概游戏更新),假如不但单“下载”,更同步“上行”,操纵空档同服务器校对本地Java程序的合理性及完好性,便能很大程度上避免这种无意义的校验时间浪费.这时有贫乏的文件便增添,有多余的——也就是呈现不该存在的Jar或class乃至原始字节码改正,便借机强行“咔”掉它,免得它“为祸人世”.


  以上是“Java游戏中迟误下载资源及调用示例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .