📄 tutorial.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用JavaMagic</title>
<base target="_blank">
</head>
<body>
<h1 align="center">如何使用JavaMagic?</h1>
<p align="center"><b><i>by Returner</i></b></p><hr>
<table border="0" width="790" id="tablemain" align="center">
<tr>
<td>
<p> </p>
<p> JavaMagic是一款为解决手机Java游戏某些兼容性问题而设计的软件。本文以JavaMagic 0.53为例,介绍如何用JavaMagic对不兼容的Java游戏进行处理,使之能较好地运行在您的手机上。</p>
<p> 目前一般手机(我是指<b>非Nokia手机</b>)与Java游戏的"主要矛盾"有一下几点:</p>
<p>
一,游戏不能全屏运行。例如,很多游戏是以128x128的分辨率为标准设计的。而有的手机,其屏幕分辨率虽然也为128x128,但在运行游戏时,由于游戏没有以全屏方式运行,画面一部分会被按键提示栏之类的物体遮挡,十分影响心情。
当然,如果您的手机分辨率大于128x128,比如128x160,就不会存在这样的烦恼。但有的游戏被设计成能够自动适应屏幕分辩率,让这些游戏在128x160的手机上以非全屏的128x128尺寸运行,岂不是很委屈它们?所以,如果可以的话,全屏运行总是好的……</p>
<p>
二,游戏是Nokia专用的。目前很多游戏都是只有Nokia的版本,懒惰的厂商偶尔才会大发慈悲,发行对应其它手机的版本。由于Nokia的游戏一般都使用了Nokia专用的API,不能直接放在非Nokia手机上运行,直接导致我们对Nokia这厮又爱又恨。幸好劳动人民的智慧是无限的,某位我不知名的神仙写了一个Nokia
API的模拟包,解决了这一难题。这就是在网上广为流传的那个俗称"com文件夹","com包"的物体。但是这个模拟包只是实现了一些最主要的基本功能,还不够完善,仍然存在一定兼容性问题。我知道除了我,还有人正在尝试去完善它。希望以后我们能看到更优秀的模拟包出现在网上。</p>
<p>
三,游戏按键不兼容。虽然只要游戏厂商愿意,他们可以做出在几乎任何一部手机上都不出现按键不兼容问题的游戏,但在残酷的现实中大量的游戏都是根据KeyCode(键值、键码)这种跟设备有关的东西来识别按键的。而不同品牌的手机,甚至相同品牌的不同系列的手机,除了数字键(包括[*]和[#]键)的KeyCode是一样的,其它按键比如左右软键、方向键,其对应的KeyCode几乎都是不同的。因此,在玩游戏时按了“右”,可能游戏会认为你按的是“下”;或者游戏需要你按“右软键”,可是你把所有键都按遍了游戏都不鸟你。已经有一些先进分子们(这些“手机游戏修改群”里的大大们十分活跃,相信不少人都见过)觉得这种情况难以忍受,于是研究出了解决方法——改游戏
代码,把游戏里面使用到键值的地方通通改成我们自己手机的键值。无奈这种修改方法本质上是一种繁重的体力劳动,容易导致头晕眼花和一定程度的神经衰弱,所以我尝试了不到24小时就彻底地溃败了,转而研究其它的修改方法,并开始写JavaMagic这个
软件。而且这种方式还有一定的局限性,更重要的是它不适合一般玩家。</p>
<p>
四,字体问题。这点国产游戏尤为突出。很多游戏大量使用小字体,十分抠门。然而我们的手机厂商更加抠门,直接把小字体的支持阉割掉了。阉割得比较有人性的,会统一用一种字体来代替大、小字体,这样至少在游戏里还能看到字。而阉割得比较彻底的,就干脆就什么都不显示了。这个问题也可以通过修改游戏代码解决,但同样比较麻烦。</p>
<p>
五,语言问题。呃……这个是游戏与游戏玩者的矛盾,不在本软件的讨论范围……</p>
<p>
</p>
<p>
如果<b>您的手机支持MIDP 2.0</b>,那么恭喜,您可以试一下JavaMagic,也许它能解决您的问题。其实那些Java游戏还是很好骗的,JavaMagic对它们使用了一些巧妙的小伎俩,使之能比较正常地在您的手机上运行。</p>
<p>
JavaMagic的界面比较简单:</p>
<p align="center">
<img border="0" src="tut_images/Interface.gif" width="627" height="442"></p>
<p>
如果是第一次运行,应该先点击“设置”,针对您的手机重新设置JavaMagic</p>
<p>
这是设置画面(嗯,我承认它看起来是复杂了点,而且随着版本的更新变得越来越复杂……):</p>
<p align="center">
<img border="0" src="tut_images/Config_52.gif" width="732" height="512"></p>
<p align="center">
</p>
<p>
先讨论与全屏问题有关的设置。首先,您需要了解您手机的屏幕分辨率,并将其填入“分辨率指定”中。(如果您的手机分辨率是128x116, 128x128,
128x160中的一种,可以直接点击对应的按键来快速设定。)</p>
<p>
也许有的同学看到这里已经被“分辨率”这个反复出现的字眼折磨得失去继续往下看的勇气了……那么所谓的“分辨率”到底指的是一种什么样的东东呢?仔细观察一下您的手机屏幕,是不是能看到它是由一颗一颗小小的点排列起来组成的?……有人说看不出来……很好,说明此阶敌的手机屏幕非常好,没有颗粒感,或者此人眼神非常的不好,对于尺寸较小的物体会采用模糊化处理进行过滤,需要借助
特殊光学仪器(如放大镜)才能看清屏幕上的点阵。总之,屏幕就是由规则排列的点阵组成的,我们说分辨率是128x160,就是水平方向数有128个点,垂直方向数有160个点,整个屏幕有128乘以160个点。欢迎怀疑论者去数一数自己的手机屏幕验证一下。您手机屏幕的分辨率一般都能在说明书或者
一些手机网站的介绍手机参数的页面中查到,所以您如果到现在都还不知道自己的身高体重,不妨挪动一下您的手指翻翻说明书或者去问<a href="http://www.google.com/" target="_blank">古狗大神</a>,不要来问我……</p>
<p>
对于支持MIDP 2.0(很好,又有同学问这个MIDP又是啥米了……这个我不解释了,在说明书和手机网站上同样能查到您的手机支持MIDP 1.0还是MIDP
2.0)的手机,有两种显示模式——全屏和非全屏。在非全屏模式下,不是整个屏幕都是游戏画面,屏幕上还有软键指示栏,某些手机还有电池电量指示栏等东西。只有在全屏模式下游戏的画面才会充满整个屏幕。</p>
<p>
大多数游戏使用的分辨率都是128x128。如果您的手机屏幕分辨率为128x128或更小,建议在“全屏选项”中选择“强制全屏”,这样所有处理过的游戏都会在全屏方式下运行了。效果对比如图(<b>注:所有游戏画面版权归原游戏厂商所有</b>):</p>
<p align="center">
<img border="0" src="tut_images/game2_ori.gif" width="195" height="259">---><img border="0" src="tut_images/game2_new.gif" width="195" height="259"></p>
<p align="center">
<img border="0" src="tut_images/game1_ori.gif" width="195" height="235">---><img border="0" src="tut_images/game1_new.gif" width="195" height="235"></p>
<p>
如果您的手机屏幕分辨率大于128x128,例如是128x160,那么强制令游戏全屏运行未必是好事。如图:</p>
<p align="center">
<img border="0" src="tut_images/game1_normal.gif" width="214" height="315">---><img border="0" src="tut_images/game1_whitebar.gif" width="214" height="315"></p>
<p>
可以看到,128x128的游戏在128x160下运行,屏幕会出现空白区域,比较不美观,还不如不全屏呢。“全屏选项”中的“仅当游戏可能能自动适应屏幕高度时全屏”选项就是针对大屏幕手机而设的。当JavaMagic检测到游戏可能能够自动适应屏幕尺寸,即无论在128x128还是128x160还是别的分辨率下,画面均正常,则将游戏设置成全屏运行(如下图)。如果游戏的分辨率固定在某个数值(如128x128),无法自动适应更大的分辨率,就让它乖乖地以非全屏方式运行。</p>
<p align="center">
<img border="0" src="tut_images/game3_ori.gif" width="214" height="315">---><img border="0" src="tut_images/game3_full.gif" width="214" height="315"></p>
<p>
不过这个自动检测功能不一定100%准确,而且有的游戏只有一部分是能够自动适应分辨率的(如,某些游戏仅仅是标题画面能够自动适应,游戏中还是锁定分辨率的)。这时只能选择“不使用全屏方式”了。</p>
<p>
设置中的“屏幕分辨率指定”是与下面的“分辨率覆盖”一起使用的,一般<b>指定为手机屏幕的分辨率</b>即可。下面的三颗按键为快捷设置按键,点击即可将分辨率设为相应值。</p>
<p>
在“分辨率覆盖”里,选择“使用指定的分辨率”表示将分辨率指定为使用“屏幕分辨率指定”中设定的数值;选择“在游戏中自动检测”,则不将分辨率指定为上面设定的值,而是在游戏运行时自动检测最大分辨率。设置这一选项的初衷是为了让处理过的游戏能在分辨率不同的手机上都能正常运行,但显然这种想法太天真了……基本上<b>这个选项是废的,不需要考虑</b>。而“不覆盖全屏时分辨率”则表示不对分辨率做手脚,顺其自然,一般与“不使用全屏方式”一起使用。</p>
<p>
需要注意的是,<b>“分辨率覆盖”只会影响到游戏中能自动适应屏幕分辨率的场合</b>。如果游戏被JavaMagic检测为能够自动适应分辨率,但您选择了“不使用全屏方式”,
这时还应该在“屏幕分辨率指定”里将分辨率指定为游戏所用的分辨率(您的手机在非全屏模式下的游戏画面分辨率),或者选择“不覆盖全屏时分辨率”,不然的话游戏画面会很恶心地超出您的屏幕显示范围;如果游戏被检测为不能自动适应屏幕分辨率,则这里设置的值不会对游戏产生任何影响。唯一的例外就是JavaMagic发生误判……</p>
<p>
如果用JavaMagic处理后您的游戏行为异常,可以试试另外一款也是干这种勾当的软件——俄罗斯人的<a href="http://www.google.com/search?hl=zh-CN&newwindow=1&q=fulljava" target=_blank>FullJava</a>(
<a href="http://www.google.com/search?hl=zh-CN&newwindow=1&q=fulljava" target=_blank>
http://www.google.com/search?hl=zh-CN&newwindow=1&q=fulljava</a> )。<b>事实上JavaMagic的部分灵感也是来自FullJava这款软件</b>。</p>
<p>
</p>
<p>
全屏下面是“字体替换”的设置。开启此功能后,<b>无论大中小字体,一律用手机默认的字体代替</b>。如果您受到无法显示小字体这一问题的困扰,不妨试试开启字体替换功能,也许会有所帮助哦~~~但这个功能只是对字体进行替换,在有的游戏中使用系统默认字体后还需要对文本的位置进行修正,这样画面看起来才比较美观。对于这一点,JavaMagic就无能为力了。以下是国产游戏《血案现场之谋杀山庄》的效果对比:</p>
<p align="center">
<img border="0" src="tut_images/game4_ori.gif" width="214" height="315">---><img border="0" src="tut_images/game4_new.gif" width="214" height="315"></p>
<p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -