《2022年JAVA游戏软件修改总结 .pdf》由会员分享,可在线阅读,更多相关《2022年JAVA游戏软件修改总结 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA游戏软件修改大全自己修改一般JAVA 的文件,其实很简单,并不需要多少的专业知识就可以做到了。最重的 是 你 有 心 机 和 耐 心 从 头 到 尾 把 本 文 看 完 , 并 动 手 自 己 实 践 就 可 以 了 。一。基础准备。1。JAVA 游戏当然是需要在JAVA 模拟器上运行的。到现在为止,SMARTPHONE 上能用的模拟器无非只有DM2 和 JMM3 这两个模拟器。对这两个模拟器,我们可以说是又爱又恨,各有缺失,又各有优点。大家想必都很清楚,我也不再多说。只是我不象大多数人那样,只用其中一个,我是两者兼顾。因为各有优点,两个一起用当然能弥补对方的不足。而且两个装在机器里并
2、不怎么占地方,除非还有人在用十六M 的卡或者是还没有买卡。然后都在开始里建立快捷方式就可以用得很方便了。我是这样用的下载的游戏两个模拟器都装,然后试运行,那个运行的完美就留住,再把另一个模拟器里的删掉。 2。现在还没有专门为SP手机量身定做的JAVA游戏,而网上所有的JAVA游戏都不是只为同一部机器所定制的,各款手机屏幕的尺寸都不尽相同,所以当你搬过来自己的机器上可能不能全屏运行,因为是以128x128 ,128X160 等的分辨率为标准设计的,这样可能因为游戏没有以全屏方式运行,会有画面一部分被按键提示栏之类的物体遮挡,玩起来当然不爽。所以JAVA全屏补丁自然就要先有准备了。3。我们知道No
3、kia 的游戏占了所有游戏的大部分,而且许多好玩的游戏都只开发了Nokia的平台,所以目前很多游戏都是只有Nokia 的版本,而要玩Nokia 的游戏并不容易,Nokia的游戏都使用了Nokia 专用的API,因此不能直接放在我的手机上运行,以前我们只能望着流口水,但现在不同了,可喜可贺,我们有了Nokia API 的模拟包!就是“com文件夹” ,但是这个模拟包还不够完善,加入后JMM3 运行时很容易造成死机现象。所以我们还是要小心点,或者等更完善的COM包。4。还有痛苦的事情是,游戏明明可以运行,没有声音不止,连按键控制都失效。这样子就很难玩,这当然是因为游戏按键不兼容造成的。游戏的控制按
4、键是根据KeyCode 来识别按键的。所有品牌的手机的控制按键的KeyCode 都不同,好象只有数字键的KeyCode 是一样的。如DM2 的游戏就经常出现左右软键不其作用。象这样的情况就比较麻烦,但也并不是完全没有办法的事,我们可以自行修改,但是这就需要比较专业的东西了。如果你想这这一点, 那 么你就需要 进修一下JAVA语言相 关的知识了。这 里 我 附 上 一 篇 在 网 上 转 过 来 的 文 章 , 或 许 帮 助 , 我 放 在 最 后 面 了 。5。其它软件:这是最后的准备了。(1)WinRAR 解压软件,这个每人电脑都应该有了吧。 (2)文件编辑软件,有两个选择,一个是WIND
5、OWS 自带的记事本,第二个也是最好的选择:UltraEdit-32 Text 软件,这个软件相信很多人都知道吧,其实用起来也很简单,而且有中文xx版的。二。实战操作。1。修改名字。这一点只对DM2 有用,因为JMM3 自己便有更改名字的功能。假如你的DM2 模拟器里装了很多游戏,那些英文名字乱七八糟的,看起来不但不舒服,要用起来也不方便。如果全部该成了了中文名字就便于识别了。首先,选择用WINRAR 打开你要编辑的JAR 文件,然后找到里面的META-INF 文件夹,这里面有个索引文件MF,所有的基本信息都在这里面了。我们要做的就是把这个文件拖精品资料 - - - 欢迎下载 - - - -
6、- - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 9 页 - - - - - - - - - - 出 来 , 然 后 修 改 里 面 的 信 息 。 只 要 用UltraEdit-32 Text打 开 就 可 以 看 到 了 。我列出需要改的地方:MIDlet-Name ,游戏名称。MIDlet-Vendor:提供商的名称。然 后 保 存 即 可 。 最 后 把 这 个 文 件 再 重 新 拖 进JAVA 文 件 里 覆 盖 就 可 以 了 。不过这里需要注意一点。纯英文的游戏改成中文名后安装会显示“ 应用程序错误的” ,我们只要找一个中文游
7、戏或电子书的MANIFEST.MF 文件,打开用你要改的纯英文游戏MANIFEST.MF 文件,把里面所有的东西复制,再粘贴到那个中文的MANIFEST.MF 文件里就可以。2。替换自己喜欢的图片和声音。方法很简单,打开要修改的文件,再仔细看一遍,你就会发现每个JAVA 文件里或多或少都会有MID 和 NPG 文件, MID 是铃声格式,也就是游戏的声音。NPG 是图象文件,可能是程序的背景或是游戏的图片。说到这里,我想大家都明白了吧。只有以相应的内容改成相 同 的 名 字 替 换 就 可 以 。 例 如QQ的 消 息 声 音 或 背 景 都 可 以 更 改 。3。修改电子书的内容,或自己做有
8、图像的JAVA图书。打开后会看到有数字象1。2。3 等文件夹,里面放的可能是文本或图象,我们要做的就是简单的替换,就可以变成自己的文字书,或图书。4。修改游戏按键设置这 个 我 说 过 比 较 困 难 , 前 提 是 你 要 对JAVA 代 码 比 较 熟 悉 才 行 , 基 本 流 程 是 :A 首先要做的 是,用反编译 工具反编译你 要修改的游戏 。B 然后就要动手找决定性的语言。判断按键的函数:keyPressed、keyRepeated、keyReleased。判断按键键值的语句:IF、SWITCH。相关的是,NOKIA的左软键键值:6 ,右软键:7。C 复制游戏里面要修改的地方的代码
9、,做成基本的JAVA 文件,然后调试并编译通过,生成.class文件。D 研究 .class 文件,找其中代码的规律。NOKIA 游戏的左右软键的键值编译完之后一般为FA、 F9(IF 语句)和FFFFFFFA、 FFFFFFF9( CASE 语句)。你可以在你自己编的那个JAVA 程序里面把以上找到的6、 7 改成你要的键值,分别编译,对比改和不改的两个文件的不同之处。附:Java游戏编程初步现在流行的游戏似乎都是用C 或 C+ 来开发的。在java 平台上几乎没有很大型及可玩的流行游戏。由于java 是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java 在游戏编程方面的强大
10、性。本文将带领大家一步一步学习编写Java游戏。最终打造属于自己的Java游戏。一 、 在 开 始 之 前 我 们 得 确 认 你 已 经 安 装 了Java JDK,并已经安装了浏览器软件如IE。本章是以Internet为开发对象,一步一步教大家认识Java 的 Thread 、Applets . 以及游戏编程要注意的一些方方面面。并在每一小部分附上了相应的源代码以供大家参考,最后我们还会对我们的游戏程序进行指导性的提示。在文章中我们还穿插了很多建设性的问题,让读者参与到我们的开发中来。但是由于本章指在带领大家进入这个门槛,大部分知识并不会很详细说明,有兴趣的读者可查阅相关的资料补充。在开始
11、之前我们还得确认你已经知道类,继承和java 语言的一些基本属性了。基本applet Applets 是一种 Web 浏览器上的小程序,由于applet 对系统而言绝精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 9 页 - - - - - - - - - - 对安全,所以它做的事比aaplication有限,但是对于客户端的程序,applets仍然是个很强 大 的 工 具 。 为 了 浏 览 和 运 行 方 便 , 我 们 就 以applet为 开 发 对 象 。开发 Applets 程序,
12、我们得继承Applet 类,并覆写必要的函数,下面几个函数控制了Web页面上的applet生成与执行。函数作用 Init() 这个函数会被自动调用,执行applet 的初始化动作包括组件在版面上的分配,你一定得覆写它 Start() 每当浏览器显示applet 内容时,都会调用它,让applet 开启其正规工作( 尤 其 是 那 些 被stop() 关 闭 的 工 作 ) , 调 用init()之 后 也 会 调 用 这 个 函 数 Stop() 每当浏览器不显示内容时,都会调用它。让applet 关闭某些耗资源的工作,调用destory()之后也会调用这个函数 Destroy() 浏览器将
13、applet 自网页移除之际,便会调用它,以执行” applet 不再被使用”应该做的最后释放资源等动作 Paint() 让你在 Applet 界面上进行相应的绘画动作,每次刷新时都会重画所有的 applet 文件源文件名和java 应用程序一样都是.java 为扩展名,编译后的执行文件扩展名为.class,由于在applet中已经没有了main() 函数,它是和html 自动集成,所以我们要执行applet ,要在html 源文件中放入一特定的标签(tag),才能告诉网页如何装载并执行这个applet ,这里有一点要注意,我们执行的网页必须能执行java程序。普通Html 源码格式HTML
14、APPLET CODE=HelloWorld.class WIDTH=300 HEIGHT=500 /APPLET/HTML applet code =HelloWorld.class width=300 height=500这行即applet的执行处。applet 执 行 文 档 为=HelloWorld.class 告 诉 网 页 ” applet ”扩展文件为HelloWorld.class width 和height 告 诉 浏 览 器 这 个 显 示 的applet的 大 小有关标签 (tag) 的说明,大家可在网上找到很多相关的说明文档。线程由于 apllet,java 应用程序的
15、执行都和线程有关。我们来大概了解一下线程的概念。线程也称为轻型进程 (LWP)。每个线程只能在单个进程的作用域内活动、协作和数据交换,并且在计算资源方面非常廉价。线程需要操作系统的支持,因此不是所有的机器都提供线程。Java 编程语言,作为相当新的一种语言,已将线程支持与语言本身合为一体,这样就对线程提供了强健的支持。Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 9 页 - - - - - - - - - - 为。要创建一个线程
16、,程序员必须创建一个从 Thread 类 导 出 的 新 类 。 程 序 员 必 须 覆 盖Thread 的run() 函数来完成有用的工作。用户并不直接调用此函数;而是必须调用Thread 的start() 函数,该函数再调用 run()。但是使用Thread 类实现线程,增加了程序的类层次,所以一般程序员都由另一个java 线程接口Runnable 接口来实现,Runnable 接口只有一个函数run() ,此函数必须由实现了此接口的类实现。线 程 中 有 几 个 重 要 的 方 法 是 我 们 得 了 解 :Thread.start(): 启动一个线程Thread.stop(): 停止一
17、个线程Thread.sleep(time in milliseconds): 暂停线程在一个等待时间二、动画技术自由降落动画了解了一些基本概念后,下面我们就开始我们的实质性的工作。我们设计一个球从屏幕顶上降落到屏幕下面,程序实现比较简单,但是这是游戏动画中不可少的 一部 分 。 在开 始之 前 我们 来看 看我们 的applet开 始语 句。 import java.awt.*。 import java.applet.*。 public class Ball extends Applet implements Runnable public void init() public void st
18、art() public void stop() public void destroy() public void run () public void paint (Graphics g) 在开始函数中我们要新建程序的主线程,并启动这个线程。一旦做好这些准备工作以后,当applet第一次被显示时,就会创建线程对象的一个实例,并把this对象作为建构方法的参数,之后就可以启动动画了 public void start () / 定义一个新的线程 Thread th = new Thread (this)。 / 启动线程 th.start ()。 现在我们来看看线程的run 方法,它在循环wh
19、ile(), 中每隔 20 毫秒重画动画场景。sleep 这个方法很重要,如果在run 循环中没有这部分,圆的重画动作将执行 得 很 快 , 其 他 方 法 将 得 不 到 有 效 执 行 , 也 即 我 们 在 屏 幕 上 将 看 不 到 球 的 显 示 。 public void run () 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 9 页 - - - - - - - - - - / while (true) / 重画applet画面 repaint()。 try / 暂停线程20
20、毫秒 Thread.sleep (20)。 catch (InterruptedException ex) 我们接着读下去之前,有几个问题需要回答。你也许会问,浏览器调用Java小程序的start和stop方法吗? run 方法是如何被调用的? 情况是这样的,当浏览器启动了一个内部线程时,就相应地启动了applet 的 运 行 。 当 网 页 显 示 时 , 就 启 动 了applet的start 方法。 Start 方法创建一个线程对象,并把applet 自身传送给线程,以实现run方法。此时,两个线程在运行:由浏览器启动的初始线程,以及处理动画的线程。快速查看applet 的 start
21、方法,可以知道它创建了线程,并启动了它。类似地,当网 页 被 隐 藏 后 , applet的stop方 法 就 调 用 了 线 程 的stop方 法 。注 意 : 在Applets和Threads中 的start/stop子 程 序在 Applet 和 Thread 两个类中都有start 和 stop 方法,但它们的功能不同。一旦Applet 显示时,就调用applet 的 start 方法,一旦applet 隐藏时,就调用applet的stop 方法。相反,线程的start 方法将调用run 方法,线程的stop 方法将停止正在执行的线程。 public void paint(Graphi
22、cs g) paint() 方 法 所 传 入 的 参 数 java.awt.Graphics 对象将是一个经裁剪的相关显示区的图像代表(而不会是整个显示区)。我们对圆球图形元素的绘制就是在通过重写 paint() 方法,在其中对传入的Graphics 对象g 进行操作完成的。当我们应用程序的逻辑要对系统界面进行更新时,调用repaint() 方法 来通知AWT 线 程进行刷新操 作。 repaint() 方 法实际会让 AWT线程去调用另外一个方法,update 。update 方法在默认情况下会做两件事,一是清除当前区域内容,二是调用其 paint()方法完成实际绘制工作。paint 、r
23、epaint 、update 三个方法关系如图所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 9 页 - - - - - - - - - - 此主题相关图片如下:但 是 如 何 让 我 们 的 圆 运 动 呢 ? 这 里 我 们 利 用 函 数Graphics 类的 fillOval 函数来设置了圆的起始位置x,y 。现在我们只要在线程run 方法中每单位时间增大y 的值,线程将在每一个单位时间内重画圆的位置。每单位时间y 值越 大 , 下 降 的 速 度 就 会 越 快 。 在 屏 幕
24、 上 我 们 就 将 看 到 这 个 圆 球 做 自 由 降 落 运 动 。如下代码所示: while (true) / 设置动画移动速度 y +=1。 public void paint (Graphics g) /设置球的颜色 g.setColor (Color.blue)。 / 从x,y位置处画一个实心的圆 g.fillOval (x , y, 2 * r, 2 * r)。 在这之前我们需要在开始处设置一些变量,定义好x,y 的默认位置值。r 在此处是我们画的圆的半径大小。 int x = 100。 int y = 20。 int r = 10。我们的自由降落的动画就完了。是不是很简单,
25、如果还有地方不明白,大家可在此处下载完整的代码及应用程序。看看真实的演示效果和代码。下面每一部分我们也将在最后附上相应的源代码及应用程序下载。如果大家有兴趣,可改变y 的值,及x的值,你会得到不同的下降效果。四、多媒体使用多媒体声音多媒体功能在游戏中是必不少的一部分,优美的音乐,漂亮的界面往往是一个成功游戏必需具备的条件。在 开 始 之 前 我 们 先 了 解 一 下 主 要 的 小 型 声 音 文 件 类 型 :AU - (扩展名为 AU 或 SND)适用于短的声音文件,为Solaris 和下一代机器的通用文件格式,也是JAVA 平台的标准的音频格式。AU 类型文件使用的三种典型音频格式为:
26、 8位 -law 类型(通常采样频率为8kHz), 8 位线性类型,以及16 位线性类型。WAV - ( 扩 展 名 为WAV) 由Microsoft和 IBM 共同开发 ,对 WAV 的支持已经被加进Windows 95 并且被延伸到Windows 98. WAV文 件 能 存 储 各 种 格 式 包 括 -law,a-law和PCM (线性 )数据。他们几乎能被所有支持声音的Windows应用程序播放。AIFF - ( 扩展名为AIF 或 IEF)音频互换文件格式是为Macintosh 计算精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 -
27、- - - - - - - - -第 6 页,共 9 页 - - - - - - - - - - 机和Silicon Graphics (SGI) 计 算 机 所 共 用 的 标 准 音 频 文 件 格 式 。 AIFF和 AIFF-C几乎是相同的,除了后者支持例如 -law 和 IMA ADPCM 类型的压缩。MIDI - (扩展名为MID) 乐器数字接口MIDI 是为音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。在 JDK1.0 上, java 只支持 *.au 格式的声音文件,但是java2 的 API以及声音包提供了很强大的对声音技术的支持。而此部分为了让大家快速掌握
28、游戏编程的基本知识,我们仅使用了AudioClip接口类来实现播放*.wav 。如果大家有兴趣可参考sun java网站的声音sapmle ,上面提供了完备的实例和教程说明。使用 AudioClip 接口比较简单,我们只要实例对象,加载声音文件后,再在任何地方播放即可。恢复和播放声音最简单的方法是通过Applet类的play() 方法。AudioClip接口1.播放play 2.循环loop 3.停止stop 启动和停止声音文件,或循环播放 ,你必须用 applet 的 getAudioClip方法把它装载进入 AudioClip对象, getAudioClip方法要用一个或两个参数,当作播放
29、的指示。第一个或唯一的一个参数是 URL 参数,用来指示声音文件的位置,第二参数是文件夹路径指针。下 列 代 码 行 举 例 说 明 加 载 声 音 文 件 进 入 剪 贴 对 象 : 下面的 gun.wav 是指当前目录下的声音文件。我们也可用*.au 格式的文件代替。 AudioClip co = getAudioClip(getCodeBase(), gun.wav)。getAudioClip() 方法仅仅能被applet 内调用。随着JAVA2 的引入,应用程序也能用Applet 类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序: AudioCl
30、ip co = newAudioClip(“ gun.wav” ) 我们现在可在任何地方使用方法play() 播放我们的声音了。play() 一旦被调用立刻开始恢复和播放声音。但这有一点要注意:如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。图片处理技术图片的处理和声音的处理在一样简单。设置图片变量,得到图形,最后绘制图形。我们就直接从代码来分析。在此我们绘制一幅applet的背景图。开始绘制前,我们先要声明图形变量,用来存放图形文件。 Image backImage。 / 加载图片文件 backImgage = getImage (getCodeBase (), black.gif)。
31、下面在我们的paint() 方法中利用函数drawImage绘制我们图形。 g.drawImage (backImage, 0, 0, this)。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 9 页 - - - - - - - - - - DrawImage参数中的blackImage即我们得到的图形,而后面的0,0分别代表图形的x 坐标和y 坐标 .this: 为图形代表的类,这里指的即picture 类。在这里建议大家使用 *.gif格式的图片文件。因为如果是internet网上,文件
32、的大小也决定了你的applet加载时的快慢,没有人很愿意等很长时间来玩你的游戏,即使你的游戏比较出色。源代码及演示程序下载. 大家在玩游戏时是不是见过人物图像行走?动物来回跑动的动画?这些都是基于图形技术来实现的。我们只要把上面的代码稍微修改,用数组变量来存储我们得到 的 图 形 文 件 组 , 再 利 用drawImage()方 法 播 放 出 来 就 可 实 现 动 画 图 片 的 播 放 . Image backImage。 / 加载图片文件 for (int i=4,ibackImage.length,i+) backImgagei = getImage (getCodeBase ()
33、, t1+i+.gif)。 大家可参考JDK 包中的 Animation 例子,它就是一个很好的播放一组图片文件的例子。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 9 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 9 页 - - - - - - - - - -