




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA游戏软件修改大全自己修改一般JAVA的文件,其实很简单,并不需要多少的专业知识就可以做到了。最重的是你有心机和耐心从头到尾把本文看完,并动手自己实践就可以了。一。基础准备。1。JAVA游戏当然是需要在JAVA模拟器上运行的。到现在为止,SMARTPHONE上能用的模拟器无非只有DM2和JMM3这两个模拟器。对这两个模拟器,我们可以说是又爱又恨,各有缺失,又各有优点。大家想必都很清楚,我也不再多说。只是我不象大多数人那样,只用其中一个,我是两者兼顾。因为各有优点,两个一起用当然能弥补对方的不足。而且两个装在机器里并不怎么占地方,除非还有人在用十六M的卡或者是还没有买卡。然后都在开始里建立快捷方式就可以用得很方便了。我是这样用的下载的游戏两个模拟器都装,然后试运行,那个运行的完美就留住,再把另一个模拟器里的删掉。2。现在还没有专门为SP手机量身定做的JAVA游戏,而网上所有的JAVA游戏都不是只为同一部机器所定制的,各款手机屏幕的尺寸都不尽相同,所以当你搬过来自己的机器上可能不能全屏运行,因为是以128x128,128X160等的分辨率为标准设计的,这样可能因为游戏没有以全屏方式运行,会有画面一部分被按键提示栏之类的物体遮挡,玩起来当然不爽。所以JAVA全屏补丁自然就要先有准备了。3。我们知道Nokia的游戏占了所有游戏的大部分,而且许多好玩的游戏都只开发了Nokia的平台,所以目前很多游戏都是只有Nokia的版本,而要玩Nokia的游戏并不容易,Nokia的游戏都使用了Nokia专用的API,因此不能直接放在我的手机上运行,以前我们只能望着流口水,但现在不同了,可喜可贺,我们有了Nokia API的模拟包!就是“com文件夹”,但是这个模拟包还不够完善,加入后JMM3运行时很容易造成死机现象。所以我们还是要小心点,或者等更完善的COM包。4。还有痛苦的事情是,游戏明明可以运行,没有声音不止,连按键控制都失效。这样子就很难玩,这当然是因为游戏按键不兼容造成的。游戏的控制按键是根据KeyCode来识别按键的。所有品牌的手机的控制按键的KeyCode都不同,好象只有数字键的KeyCode是一样的。如DM2的游戏就经常出现左右软键不其作用。象这样的情况就比较麻烦,但也并不是完全没有办法的事,我们可以自行修改,但是这就需要比较专业的东西了。如果你想这这一点,那么你就需要进修一下JAVA语言相关的知识了。这里我附上一篇在网上转过来的文章,或许帮助,我放在最后面了。5。其它软件:这是最后的准备了。 (1)WinRAR解压软件,这个每人电脑都应该有了吧。 (2)文件编辑软件,有两个选择,一个是WINDOWS自带的记事本,第二个也是最好的选择:UltraEdit-32 Text软件,这个软件相信很多人都知道吧,其实用起来也很简单,而且有中文xx版的。 二。实战操作。1。修改名字。这一点只对DM2有用,因为JMM3自己便有更改名字的功能。假如你的DM2模拟器里装了很多游戏,那些英文名字乱七八糟的,看起来不但不舒服,要用起来也不方便。如果全部该成了了中文名字就便于识别了。 首先,选择用WINRAR打开你要编辑的JAR文件,然后找到里面的META-INF文件夹,这里面有个索引文件MF,所有的基本信息都在这里面了。我们要做的就是把这个文件拖出来,然后修改里面的信息。只要用UltraEdit-32 Text打开就可以看到了。 我列出需要改的地方:MIDlet-Name,游戏名称。MIDlet-Vendor:提供商的名称 。 然后保存即可。最后把这个文件再重新拖进JAVA文件里覆盖就可以了。不过这里需要注意一点。纯英文的游戏改成中文名后安装会显示“应用程序错误的”,我们只要找一个中文游戏或电子书的MANIFEST.MF文件,打开用你要改的纯英文游戏MANIFEST.MF文件,把里面所有的东西复制,再粘贴到那个中文的MANIFEST.MF文件里就可以。2。替换自己喜欢的图片和声音。方法很简单,打开要修改的文件,再仔细看一遍,你就会发现每个JAVA文件里或多或少都会有MID和NPG文件,MID是铃声格式,也就是游戏的声音。NPG是图象文件,可能是程序的背景或是游戏的图片。说到这里,我想大家都明白了吧。只有以相应的内容改成相同的名字替换就可以。例如QQ的消息声音或背景都可以更改。3。修改电子书的内容,或自己做有图像的JAVA图书。打开后会看到有数字象1。2。3等文件夹,里面放的可能是文本或图象,我们要做的就是简单的替换,就可以变成自己的文字书,或图书。 4。修改游戏按键设置这个我说过比较困难,前提是你要对JAVA代码比较熟悉才行,基本流程是:A 首先要做的是,用反编译工具反编译你要修改的游戏。B 然后就要动手找决定性的语言。判断按键的函数:keyPressed、keyRepeated、keyReleased。判断按键键值的语句:IF、SWITCH。相关的是,NOKIA的左软键键值:6,右软键:7。C 复制游戏里面要修改的地方的代码,做成基本的JAVA文件,然后调试并编译通过,生成.class文件。D 研究.class文件,找其中代码的规律。NOKIA游戏的左右软键的键值编译完之后一般为FA、F9(IF语句)和FFFFFFFA、FFFFFFF9(CASE语句)。你可以在你自己编的那个JAVA程序里面把以上找到的6、7改成你要的键值,分别编译,对比改和不改的两个文件的不同之处。附:Java游戏编程初步 现在流行的游戏似乎都是用C或C+来开发的。在java平台上几乎没有很大型及可玩的流行游戏。由于java是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性。本文将带领大家一步一步学习编写Java游戏。最终打造属于自己的Java游戏。 一、在开始之前我们得确认你已经安装了Java JDK,并已经安装了浏览器软件如IE。本章是以Internet为开发对象,一步一步教大家认识Java的Thread、Applets.以及游戏编程要注意的一些方方面面。并在每一小部分附上了相应的源代码以供大家参考,最后我们还会对我们的游戏程序进行指导性的提示。在文章中我们还穿插了很多建设性的问题,让读者参与到我们的开发中来。但是由于本章指在带领大家进入这个门槛,大部分知识并不会很详细说明,有兴趣的读者可查阅相关的资料补充。在开始之前我们还得确认你已经知道类,继承和java语言的一些基本属性了。 基本applet Applets是一种Web浏览器上的小程序,由于applet对系统而言绝对安全,所以它做的事比aaplication有限,但是对于客户端的程序,applets仍然是个很强大的工具。为了浏览和运行方便,我们就以applet为开发对象。 开发Applets程序,我们得继承Applet类,并覆写必要的函数,下面几个函数控制了Web页面上的applet生成与执行。 函数 作用 Init() 这个函数会被自动调用,执行applet的初始化动作包括组件在版面上的分配,你一定得覆写它 Start() 每当浏览器显示applet内容时,都会调用它,让applet开启其正规工作(尤其是那些被stop()关闭的工作),调用init()之后也会调用这个函数 Stop() 每当浏览器不显示内容时,都会调用它。让applet关闭某些耗资源的工作,调用destory()之后也会调用这个函数 Destroy() 浏览器将applet自网页移除之际,便会调用它,以执行”applet不再被使用”应该做的最后释放资源等动作 Paint() 让你在Applet界面上进行相应的绘画动作,每次刷新时都会重画 所有的applet文件源文件名和java应用程序一样都是.java为扩展名,编译后的执行文件扩展名为.class,由于在applet中已经没有了main()函数,它是和html自动集成,所以我们要执行applet,要在html源文件中放入一特定的标签(tag),才能告诉网页如何装载并执行这个applet,这里有一点要注意,我们执行的网页必须能执行java程序。 普通Html 源码格式 HTML 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应用程序的执行都和线程有关。我们来大概了解一下线程的概念。 线程也称为轻型进程 (LWP)。每个线程只能在单个进程的作用域内活动、协作和数据交换,并且在计算资源方面非常廉价。线程需要操作系统的支持,因此不是所有的机器都提供线程。Java 编程语言,作为相当新的一种语言,已将线程支持与语言本身合为一体,这样就对线程提供了强健的支持。 Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行为。要创建一个线程,程序员必须创建一个从 Thread 类导出的新类。程序员必须覆盖 Thread 的 run() 函数来完成有用的工作。用户并不直接调用此函数;而是必须调用 Thread 的 start() 函数,该函数再调用 run()。 但是使用Thread类实现线程,增加了程序的类层次,所以一般程序员都由另一个java线程接口Runnable接口来实现,Runnable接口只有一个函数run(),此函数必须由实现了此接口的类实现。 线程中有几个重要的方法是我们得了解: Thread.start(): 启动一个线程 Thread.stop(): 停止一个线程 Thread.sleep(time in milliseconds): 暂停线程在一个等待时间 二、动画技术 自由降落动画 了解了一些基本概念后,下面我们就开始我们的实质性的工作。我们设计一个球从屏幕顶上降落到屏幕下面,程序实现比较简单,但是这是游戏动画中不可少的一部分。在开始之前我们来看看我们的applet开始语句。 import java.awt.*; import java.applet.*; public class Ball extends Applet implements Runnable public void init() public void start() 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方法,它在循环while(),中每隔20毫秒重画动画场景。sleep这个方法很重要,如果在run循环中没有这部分,圆的重画动作将执行得很快,其他方法将得不到有效执行,也即我们在屏幕上将看不到球的显示。 public void run () / while (true) / 重画applet画面 repaint(); try / 暂停线程20毫秒 Thread.sleep (20); catch (InterruptedException ex) 我们接着读下去之前,有几个问题需要回答。你也许会问,浏览器调用Java小程序的start和stop方法吗? run 方法是如何被调用的? 情况是这样的,当浏览器启动了一个内部线程时,就相应地启动了applet 的运行。当网页显示时,就启动了applet的start 方法。Start方法创建一个线程对象,并把applet自身传送给线程,以实现run方法。 此时,两个线程在运行:由浏览器启动的初始线程,以及处理动画的线程。快速查看applet的start方法,可以知道它创建了线程,并启动了它。类似地,当网页被隐藏后,applet的stop方法就调用了线程的stop方法。 注意:在Applets和Threads中的 start/stop子程序 在Applet 和Thread 两个类中都有start和stop方法,但它们的功能不同。一旦Applet 显示时,就调用applet的start方法,一旦applet 隐藏时,就调用applet的stop 方法。相反,线程的start方法将调用run方法,线程的stop方法将停止正在执行的线程。 public void paint(Graphics g) paint() 方法所传入的参数 java.awt.Graphics 对象将是一个经裁剪的相关显示区的图像代表(而不会是整个显示区)。我们对圆球图形元素的绘制就是在通过重写 paint()方法,在其中对传入的Graphics 对象g进行操作完成的。 当我们应用程序的逻辑要对系统界面进行更新时,调用 repaint() 方法来通知AWT线程进行刷新操作。repaint() 方法实际会让 AWT线程去调用另外一个方法,update。update方法在默认情况下会做两件事,一是清除当前区域内容,二是调用其 paint()方法完成实际绘制工作。paint、repaint、update 三个方法关系如图所示: 此主题相关图片如下: 但是如何让我们的圆运动呢?这里我们利用函数Graphics 类的fillOval函数来设置了圆的起始位置x,y。现在我们只要在线程run方法中每单位时间增大y的值,线程将在每一个单位时间内重画圆的位置。每单位时间y值越大,下降的速度就会越快。在屏幕上我们就将看到这个圆球做自由降落运动。 如下代码所示: 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; 我们的自由降落的动画就完了。是不是很简单,如果还有地方不明白,大家可在此处下载完整的代码及应用程序。看看真实的演示效果和代码。下面每一部分我们也将在最后附上相应的源代码及应用程序下载。如果大家有兴趣,可改变y的值,及x的值,你会得到不同的下降效果。 四、多媒体 使用多媒体声音 多媒体功能在游戏中是必不少的一部分,优美的音乐,漂亮的界面往往是一个成功游戏必需具备的条件。 在开始之前我们先了解一下主要的小型声音文件类型: AU - (扩展名为AU或SND)适用于短的声音文件,为Solaris和下一代机器的通用文件格式,也是JAVA平台的标准的音频格式。AU类型文件使用的三种典型音频格式为: 8位-law类型(通常采样频率为8kHz), 8位线性类型,以及16位线性类型。 WAV - (扩展名为WAV)由 Microsoft和 IBM共同开发,对WAV的支持已经被加进Windows 95并且被延伸到Windows 98. WAV文件能存储各种格式包括-law,a-law和 PCM (线性)数据。他们几乎能被所有支持声音的Windows应用程序播放。 AIFF - (扩展名为AIF或IEF)音频互换文件格式是为Macintosh计算机和Silicon Graphics (SGI)计算机所共用的标准音频文件格式。AIFF和 AIFF-C几乎是相同的,除了后者支持例如-law和 IMA ADPCM类型的压缩。 MIDI - (扩展名为MID)乐器数字接口MIDI是为音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。 在JDK1.0上,java只支持*.au格式的声音文件,但是java2的API以及声音包提供了很强大的对声音技术的支持。而此部分为了让大家快速掌握游戏编程的基本知识,我们仅使用了AudioClip接口类来实现播放*.wav。如果大家有兴趣可参考sun java网站的声音sapmle,上面提供了完备的实例和教程说明。 使用AudioClip接口比较简单,我们只要实例对象,加载声音文件后,再在任何地方播放即可。恢复和播放声音最简单的方法是通过Applet类的play()方法。 AudioClip接口 1.播放 play 2.循环 loop 3.停止 stop 启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,getAudioClip方法要用一个或两个参数,当作播放的指示。第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。 下列代码行举例说明加载声音文件进入剪贴对象: 下面的gun.wav是指当前目录下的声音文件。我们也可用*.au格式的文件代替。 AudioClip co = getAudioClip(getCodeBase(), gun.wav); getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序: Au
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023国家能源投资集团有限责任公司第一批社会招聘笔试备考试题及完整答案详解一套
- 2025年黑龙江省五常市辅警招聘考试试题题库完整答案详解
- 2025年Z世代消费趋势预测:新消费品牌发展前景深度报告
- 2025年K2学校STEM课程实施效果评估与教育评价体系创新实践报告
- 慢性阻塞性肺疾病诊治指南变迁2025
- 《模拟导游教程》中职旅游管理专业全套教学课件
- 宪法学试题及参考答案
- 广东省清远市佛冈县高中联考2024-2025学年高一下学期6月月考英语试卷
- 2025年重庆市西南大学附属中学中考三模道德与法治试卷(含答案)
- 2024-2025福建省厦门市集美中学高一下6月英语月考英语试卷
- 施工项目资料管理试题及答案
- 2025年安全知识竞赛题库及答案(共150题)
- 第六单元 年、月、日 单元测试(含答案)2024-2025学年三年级下册数学人教版
- 国家开放大学2025年《机电控制工程基础》形考任务1-4答案
- 合资公司的组织结构与运营规范
- 成都设计咨询集团有限公司2025年社会公开招聘(19人)笔试参考题库附带答案详解
- 基层医疗卫生机构信息化建设中的医疗信息化服务创新与产业链协同发展路径报告
- 海南省历年中考作文题与审题指导(2003-2023)
- 幼儿照护知到课后答案智慧树章节测试答案2025年春铁门关职业技术学院
- 2025衢州辅警考试题库
- 出差工作总结模版
评论
0/150
提交评论