av-wzvdi教你使用JavaMagic来改JAVA手机游戏软件键值和改全屏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、
.~
①我们‖打〈败〉了敌人。
②我们‖〔把敌人〕打〈败〉了。
教你使用JavaMagic来改JAVA手机游戏软件键值和改全屏
作者:admin教程来源:百科原创点击数:6688 更新时间:2009-6-4
JavaMagic是一款为解决手机Java游戏某些兼容性问题而设计的软件。本文以JavaMagic 0.53为例,介绍如何用JavaMagic对不兼容的Java游戏进行处理,使之能较好地运行在您的手机上。
软件下载:
目前一般手机(我是指非Nokia手机)与Java游戏的"主要矛盾"有一下几点:
一,游戏不能全屏运行。例如,很多游戏是以128x128的分辨率为标准设计的。而有的手机,其屏幕分辨率虽然也为128x128,但在运行游戏时,由于游戏没有以全屏方式运行,画面一部分会被按键提示栏之类的物体遮挡,十分影响心情。当然,如果您的手机分辨率大于128x128,比如128x160,就不会存在这样的烦恼。但有的游戏被设计成能够自动适应屏幕分辩率,让这些游戏在128x160的手机上以非全屏的128x128尺寸运行,岂不是很委屈它们?所以,如果可以的话,全屏运行总是好的…
二,游戏是Nokia专用的。目前很多游戏都是只有Nokia的版本,懒惰的厂商偶尔才会大发慈悲,发行对应其它手机的版本。由于Nokia的游戏一般都使用了Nokia专用的API,不能直接放在非Nokia手机上运行,直接导致我们对Nokia这厮又爱又恨。幸好劳动人民的智慧是无限的,某位我不知名的神仙写了一个Nokia API的模拟包,解决了这一难题。这就是在网上广为流传的那个俗称"com文件夹","com包"的物体。但是这个模拟包只是实现了一些最主要的基本功能,还不够完善,仍然存在一定兼容性问题。我知道除了我,还有人正在尝试去完善它。希望以后我们能看到更优秀的模拟包出现在网上。
三,游戏按键不兼容。虽然只要游戏厂商愿意,他们可以做出在几乎任何一部手机上都不出现按键不兼容问题的游戏,但在残酷的现实中大量的游戏都是根据KeyCode(键值、键码)这种跟设备有关的东西来识别按键的。
而不同品牌的手机,甚至相同品牌的不同系列的手机,除了数字键(包括[*]和[#]键)的KeyCode是一样的,其它按键比如左右软键、方向键,其对应的KeyCode几乎都是不同的。因此,在玩游戏时按了“右”,可能游戏会认为你按的是“下”;或者游戏需要你按“右软键”,可是你把所有键都按遍了游戏都不鸟你。
已经有一些先进分子们(这些“手机游戏修改群”里的大大们十分活跃,相信不少人都见过)觉得这种情况难以忍受,于是研究出了解决方法——改游戏代码,把游戏里面使用到键值的地方通通改成我们自己手机的键值。无奈这种修改方法本质上是一种繁重的体力劳动,容易导致头晕眼花和一定程度的神经衰弱,所以我尝试了不到24小时就彻底地溃败了,转而研究其它的修改方法,并开始写JavaMagic这个软件。而且这种方式还有一定的局限性,更重要的是它不适合一般玩家。
四,字体问题。这点国产游戏尤为突出。很多游戏大量使用小字体,十分抠门。然而我们的手机厂商更加抠门,直接把小字体的支持阉割掉了。阉割得比较有人性的,会统一用一种字体来代替大、小字体,这样至少在游戏里还能看到字。而阉割得比较彻底的,就干脆就什么都不显示了。这个问题也可以通过修改游戏代码解决,但同样比较麻烦。
五,语言问题。呃……这个是游戏与游戏玩者的矛盾,不在本软件的讨论范围……
如果您的手机支持MIDP 2.0,那么恭喜,您可以试一下JavaMagic,也许它能解决您的问题。其实那些Java游戏还是很好骗的,JavaMagic对它们使用了一些巧妙的小伎俩,使之能比较正常地在您的手机上运行。
JavaMagic的界面比较简单:
如果是第一次运行,应该先点击“设置”,针对您的手机重新设置JavaMagic
这是设置画面(嗯,我承认它看起来是复杂了点,而且随着版本的更新变得越来越复杂……):
先讨论与全屏问题有关的设置。首先,您需要了解您手机的屏幕分辨率,并将其填入“分辨率指定”中。(如果您的手机分辨率是128x116, 128x128, 128x160中的一种,可以直接点击对应的按键来快速设定。)
也许有的同学看到这里已经被“分辨率”这个反复出现的字眼折磨得失去继续往下看的勇气了……那么所谓的“分辨率”到底指的是一种什么样的东东呢?仔细观察一下您的手机屏幕,是不是能看到它是由一颗一颗小小的点排列起来组成的?……有人说看不出来……很好,说明此阶敌的手机屏幕非常好,没有颗粒感,或者此人眼神非常的不好,对于尺寸较小的物体会采用模糊化处理进行过滤,需要借助特殊光学仪器(如放大镜)才能看清屏幕上的点阵。
总之,屏幕就是由规则排列的点阵组成的,我们说分辨率是128x160,就是水平方向数有128个点,垂直方向数有160个点,整个屏幕有128乘以160个点。欢迎怀疑论者去数一数自己的手机屏幕验证一下。您手机屏幕的分辨率一般都能在说明书或者一些手机网站的介绍手机参数的页面中查到,所以您如果到现在都还不知道自己的身高体重,不妨挪动一下您的手指翻翻说明书或者去问古狗大神,不要来问我……
对于支持MIDP 2.0(很好,又有同学问这个MIDP又是啥米了……这个我不解释了,在说明书和手机网站上同样能查到您的手机支持MIDP 1.0还是MIDP 2.0)的手机,有两种显示模式——全屏和非全屏。在非全屏模式下,不是整个屏幕都是游戏画面,屏幕上还有软键指示栏,某些手机还有电池电量指示栏等东西。只有在全屏模式下游戏的画面才会充满整个屏幕。
大多数游戏使用的分辨率都是128x128。如果您的手机屏幕分辨率为128x128或更小,建议在“全屏选项”中选择“强制全屏”,这样所有处理过的游戏都会在全屏方式下运行了。效果对比如图(注:所有游戏画面版权归原游戏厂商所有):
如果您的手机屏幕分辨率大于128x128,例如是128x160,那么强制令游戏全屏运行未必是好事。如图:
可以看到,128x128的游戏在128x160下运行,屏幕会出现空白区域,比较不美观,还不如不全屏呢。“全屏选项”中的“仅当游戏可能能自动适应屏幕高度时全屏”选项就是针对大屏幕手机而设的。当JavaMagic检测到游戏可能能够自动适应屏幕尺寸,即无论在128x128还是128x160还是别的分辨率下,画面均正常,则将游戏设置成全屏运行(如下图)。如果游戏的分辨率固定在某个数值(如128x128),无法自动适应更大的分辨率,就让它乖乖地