Minisoyo社区's Archiver

欢迎注册泡面三国

J王子 发表于 2007-11-16 11:16

【E6】JAVA改键教程.可改按键及触屏.

[size=3][color=red][b][color=blue]江边[/color]原创[/b][/color][/size]
[size=4][b][color=#000000]关键的部份当然是设置。点击“设置”就看到JavaMagic的核心地区啦。首选看到的是第一个选项卡,键码设置(最重要D)。在“启用键码转换功能”打钩,这样修改以后的游戏就会对应E6的[/color][color=black]按键[/color][color=#000000]了。[font=黑体]然后点击“键码设置”,就出现了键位修改窗口[/font][/color][/b][/size]
[u][size=4][color=#000000][font=黑体][/font][attach]276391[/attach][/color][/size][/u]
[size=4][color=#000000][b]看图,E6上下音量键的键值分别为-30和-31,上下左右中分别为-1、-2、-3、-4、-[color=darkslategray]5。把键位都填到左边那栏里。因为E6缺左右软键,所以把上下音量键的键值填在左右软键里。当然,有些游戏不用左右软键也可以运行,但却缺别的键,比如说*键,这时候把*键对应的键值填在左软键或右软键的位置就可以[/color][/b][/color][/size]
[size=4][color=darkslategray][b]右边是你要修改的游戏各个按键的键值,以N73为例,左右软键为-6、-7,上下左右中和E6一样,就不用改了。有的时候我们不知道手中的JAVA游戏所支持的手机的键值,比如说我拿到了一款N95的游戏,但不知道N95的键值,怎么办。嘿嘿,这里江边送大家一款小JAVA软件,装到手机就可以测试这个手机的键值了[/b][/color][/size]
[size=4][color=darkslategray][b]设定完毕之后,点保存到文件,可以自定名称。这样键位修改的设定就完成了[/b][/color][/size]
[size=4][color=darkslategray][b]然后是第二个选项卡:Screen,这是修改屏幕用的。有些游戏是小屏版的,用这个功能就可以拉申屏幕变成全屏,但不是每次都能成功。因为不同游戏所用的屏幕位置的计算方法不同[/b][/color][/size]
[size=4][color=darkslategray][b]再下一个选项卡Font,这是对字体的设定,为一些低分辨率手机准备的功能。E6的屏幕大小和分辩率都很OK,基本不需要。如果游戏过程当中发现字体太大或者太小,可以使用此设置[/b][/color][/size]
[size=4][color=#000000][attach]276392[/attach][/color][/size]
[size=4][color=#000000][b]第四个选项卡:FIlter,非常重要!由于有些游戏只有诺基亚的版本,使用了诺基亚专用的API,所以其他手机是跑不动的。这时候在“我的机器跑不去扩充的增强版Nokia API兼容包”前打钩,就会自动加入COM文件,使之兼容你的手机,也就是E6。但需要注意的是,加入COM包会降低游戏的运行速度,所以确定游戏无法在E6上运行之后再加入。另外一个“全屏偏势狂模式”我不是很清楚功能,有试出来的朋友回帖说明下[/b][/color][/size]
[size=4][color=#000000][attach]276393[/attach][/color][/size]
[size=4][color=#000000][b]第五个选项卡:Misc1,没什么好说的。前面的两个过滤我不清楚作用,但根据经验会降低游戏修改的成功率,所以不钩。E6可以直接读取JAR文件,所以也不用生有JAD文件[/b][/color][/size]
[size=4][color=#000000][b]Misc2选项卡是一些周边设定。第二个是改游戏后会在被修改的游戏所在的目录里自动新键一个JavaMagic_Out文件夹,存放修改好的游戏,在批量修改的时候最好使用[/b][/color][/size]
[size=4][color=red][b]==============================================[/b][/color][/size]
[size=4][color=#000000][b][size=5]触屏教程
[/size][/b][color=black][b][size=4]软件:ChMobileKey[/size][/b][/color][/color][/size]
[size=4][color=#000000][b]软件主界面主要三个部份组成:“键值转换设”、“GetGameAction设定”以及“触摸屏设定”。[size=0px]6M&T/[3G.u-z)d-E[/size]
点一下“缺省设置”,空白的地方就被填满了,由于prik是以E680I为样机编写的软件,所以缺省设置是针对E680I的,我们要做的就是改成适合E6[/b][/color][/size]
[size=4][color=#000000][attach]276394[/attach][/color][/size]
[size=4][color=#000000][b]“键值转换设定”的原理和JM基本相同,左边填入的是E6上[color=black]按键[/color]的键值,右边填入的是游戏当中对应需要的键值[/b][/color][/size]
[size=4][color=#000000][b]由于E6只需改左右软键,所以只需把-6、-7的键值改为E6的上下音量键-30、-31(通常诺基亚手机的左右软键键值都是-6、-7)。其他的可以不用理会[/b][/color][/size]
[size=4][color=#000000][b]本版實現了對getGameAction返回值的修改和設置功能。由於理解getGameAction需要有一定的基礎,所以我簡單地介紹一下。如果各位能理解地話,可以讓你的改鍵作品更加完美,如果不能夠理解,缺省設置也是關閉的,90%的改鍵作品是不需要動到這個地方。
也就是说,这个值是由KEYCODE所得来的,值列表:
导航键上:   -1   1[/b][/color][/size]
[size=4][color=#000000][b]导航键下:   -6   6[/b][/color][/size]
[size=4][color=#000000][b]导航键左:   -2   2[/b][/color][/size]
[size=4][color=#000000][b]导航键右:   -5   5[/b][/color][/size]
[size=4][color=#000000][b]中键:       -20   8[/b][/color][/size]
[size=4][color=#000000][b]数字键1:   49   9[/b][/color][/size]
[size=4][color=#000000][b]数字键2:   50   1[/b][/color][/size]
[size=4][color=#000000][b]数字键3:   51   10[/b][/color][/size]
[size=4][color=#000000][b]数字键4:   52   2[/b][/color][/size]
[size=4][color=#000000][b]数字键5:   53   8[/b][/color][/size]
[size=4][color=#000000][b]数字键6:   54   5[/b][/color][/size]
[size=4][color=#000000][b]数字键7:   55   11[/b][/color][/size]
[size=4][color=#000000][b]数字键8:   56   6[/b][/color][/size]
[size=4][color=#000000][b]数字键9:   57   12[/b][/color][/size]
[size=4][color=black][b]由上表可看出,如果一个游戏采用了getGameAction(keyCode)这样的方式,得出的值无论是导航键还是数字键的2、4、6、8,都可以来进行操作,节省了程序员的麻烦及节约了空间。而且getGameAction是标准API,即上表中的值在任何机型上都是相同的,所以也十分方便移植.多用在动作和射击游戏上[/b][/color][/size]
[size=4][color=black][b]下面我舉一個實例來說明一下:
對於聖戰-以諾之子這個遊戲而言,它需要用到*/0~9鍵,需求鍵位有點多,看來要用到觸屏鍵了。
.先用JavaMagic處理一下(:-( 因爲它不能在我的E680i機器上運行,而我又懶得手動加兼容性包),再用改鍵程序,設置音量上、下鍵爲0鍵,設置左軟鍵爲#(不知道有什麽用,有備無患的好),設置右軟鍵爲*,觸屏9鍵設置爲1~9[/b][/color][/size]
[size=4][color=black][b]OK,轉換後運行發現一個奇怪的現象,觸屏1、3、7、9鍵正常,但2、4、6、8及5鍵不能正常使用[/b][/color][/size]
[size=4][color=black][b]反編譯程序後查一下鍵處理函數,發現原來是由於1、3、7、9鍵是直接處理,所以觸屏鍵設置後正常響應。但2、4、5、6、8鍵是調用了getGameAction()函數進行的處理,而E680(i)機器上沒有正常數字鍵,因此它的[/b][/color][/size]
[size=4][color=black][b]getGameAction()函數也沒有返回正確值,導致這幾個鍵無效[/b][/color][/size]
[size=4][color=black][b]知道原因就好辦了,重新打開改鍵程序,啟用getGameAction設定,這個功能可以讓我們擴充和修改手機上原有的getGameAction處理函數。因爲缺省設置是照E680手機設的,所以不用調,直接轉換就可以了。重新安裝後運行,發現這一次觸屏2、4、5、6、8鍵都可以正常動作了[/b][/color][/size]
[size=4][color=black][b]本功能還適用於由於導航鍵碼不同而造成getGameAction返回錯誤,從而導致遊戲操作鍵位混亂情況下的調整[/b][/color][/size]
[size=4][color=#000000][b]“触摸屏设制”是这个软件最核心也是最吸引人的部份。大家可以看到,软件把240*320分辨率的屏幕分成了九部份。上面和左边的纵坐标和横座标就是四条分割线的位置。经过计算,平均分配的九部份的设定应该是纵坐标1:80、纵坐标2:160、横坐标1:107、横坐标2:214。机友们可以根据需要自行调整。我想DX决定把屏幕分成九部份是比较合理的,如果分得再细一些,玩家就无法准确把握[color=black]按键[/color]的位置了[/b][/color][/size]
[size=4][color=#000000][b]而触屏键位的设定实际上就是把相应的键值填入九个方格当中。E6最缺的是数字键和#*两个键。这里发上所有[color=black]按键[/color]的键值,机友们根据各自的需要填入[/b][/color][/size]
[size=4][color=#000000][b]1:49[/b][/color][/size]
[size=4][color=#000000][b]2:50[/b][/color][/size]
[size=4][color=#000000][b]3:51[/b][/color][/size]
[size=4][color=#000000][b]4:52[/b][/color][/size]
[size=4][color=#000000][b]5:53[/b][/color][/size]
[size=4][color=#000000][b]6:54[/b][/color][/size]
[size=4][color=#000000][b]7:55[/b][/color][/size]
[size=4][color=#000000][b]8:56[/b][/color][/size]
[size=4][color=#000000][b]9:57[/b][/color][/size]
[size=4][color=#000000][b]#:35[/b][/color][/size]
[size=4][color=#000000][b]0:48[/b][/color][/size]
[size=4][color=#000000][b]*:42[/b][/color][/size]
[size=4][color=#000000][b]以上设定都完成之后,点击“保存设置”,下次使用的时候点击“配置文件”就能直接读取。下图是江边转换游戏的常用配制,供机友们参考,上下音量键对应左右软键,屏幕上的键值设定为:[/b][/color][/size]
[size=4][color=#000000][b]123[/b][/color][/size]
[size=4][color=#000000][b]456[/b][/color][/size]
[size=4][color=#000000][b]#0*[/b][/color][/size]
[size=4][color=#000000][b]软件暂时只支持单个文件的转换,转换完成后会在根目录生成pkg_new.jar文件,改下名字即可[/b][/color][/size]
[size=4][color=#000000][attach]276395[/attach][/color][/size]
[size=4][color=#000000][b]软件使用的小技巧和注意事项:ChMobileKey无法修改JM改过的文件或者已经支持触屏的文件,但是JM可以修改ChMobileKey改过的文件,所以,有些使用ChMobileKey修改但无法使用的游戏,可以试试再用JM转换,加入COM包,没准就能运行了[/b][/color][/size]
[size=4][color=#000000][attach]276396[/attach][/color][/size]
[size=4][color=#000000][attach]276397[/attach][/color][/size]
[size=4][color=#000000][attach]276398[/attach]


[/color][/size]

[[i] 本帖最后由 J王子 于 2008-1-17 13:19 编辑 [/i]]

小默 发表于 2007-11-16 11:20

沙发支持jake
RQ加完鸟

与姿偕老 发表于 2007-11-16 11:22

支持JAKE  MOTO就是好啊

snake2ws 发表于 2007-11-16 11:34

支持王子。

yangl_〾⿻ 发表于 2007-11-16 11:40

:任性

zhichile  
支持了

J王子 发表于 2007-11-20 15:26

:吹吹 没用的帖子吗?

tiankai556 发表于 2007-11-20 20:42

支持:大笑 :大笑

xqak 发表于 2007-11-22 15:51

支持一下先:大笑 :大笑 :大笑 :大笑

tj12 发表于 2007-11-27 20:15

替楼主补充一下:

对于已支持触屏的游戏可用以下方法修改按键及触屏。

用[color=blue]ChMobileKey1.4[/color]设置好相应的键值,然后随便修改一个JAR文件,然后把要改的JAR文件用WINRAR打开,用修改的好JAR文件下[color=blue]\com\kimjunco\j2me[/color]包中的[size=3][color=red]ConvKeyCanvas.class[/color][/size]文件替换掉需要修改的JAR文件里相应的[size=3][color=red]ConvKeyCanvas.class[/color][/size]文件。

[font=黑体][/font]

[[i] 本帖最后由 tj12 于 2007-11-27 20:18 编辑 [/i]]

zoomzhl 发表于 2007-11-30 12:52

[quote]原帖由 [i]tj12[/i] 于 2007-11-27 20:15 发表 [url=http://forum.minisoyo.com/redirect.php?goto=findpost&pid=1172742&ptid=56019][img]http://forum.minisoyo.com/images/common/back.gif[/img][/url]
对于已支持触屏的游戏可用以下方法修改按键及触屏。

用ChMobileKey1.4设置好相应的键值,然后随便修改一个JAR文件,然后把要改的JAR文件用WINRAR打开,用修改的好JAR文件下\com\kimjunco\j2me包中的ConvKeyC ... [/quote]

学到新东西了,感谢!

bkys 发表于 2007-11-30 19:04

支持下

mouriran 发表于 2007-11-30 22:23

这个确实对触屏手机很重要

xianggu111 发表于 2007-12-17 08:25

ding:眼睛 非常感谢

lusro 发表于 2008-1-14 10:47

触屏的输入终于有解了
没有数字键可以输入,很多游戏都不能玩
安装了就动不了…
学习起来修改看看..

blueskytazy 发表于 2008-1-14 16:09

:困-_- 早会了

blueskytazy 发表于 2008-1-14 16:10

多逛逛论坛,学会了很多

bb4ever 发表于 2008-1-17 20:14

我也要自己DIY`
做出自己玩着爽的游戏!

kingerous 发表于 2008-1-19 17:48

:吹吹 不错...我想改E680I的..嘻嘻~

9295 发表于 2008-1-23 17:42

谢谢楼主~

wamnsy897 发表于 2008-2-27 02:14

不学习是不行的,谢谢楼主!!!

页: [1] 2

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.