一個JAVA遊戲改鍵改觸屏的教程!

首先隆重介紹鍵位大名鼎鼎修改軟件JavaMagic。Returnet給我們帶來的這個軟件只有四百多KB,卻解決了衆多玩家的大煩惱,拜謝。

這是主界面,是不是很簡潔,簡單自然就是美啊。

  主界面.jpg (27.88 KB)

2007-10-7 22:26

關鍵的部份當然是設置。點擊“設置”就看到JavaMagic的核心地區啦。首選看到的是第一個選項卡,鍵碼設置(最重要D)。在“啓用鍵碼轉換功能”打鉤,這樣修改以後的遊戲就會對應E6的按鍵了。

  設置.jpg (18.19 KB)

2007-10-7 22:26

然後點擊“鍵碼設置”,就出現了鍵位修改窗口。一看,哇靠,這麼多亂七八糟的東西,咋整。哈哈,這時候E6鍵少的優勢就出來了(很阿Q吧)。E6可用的只有上下左右中,還有左右軟鍵。我們要修改的只有這些鍵。

  鍵位設定.jpg (58.56 KB)

2007-10-7 22:26

看圖,E6上下音量鍵的鍵值分別爲-30和-31,上下左右中分別爲-1、-2、-3、-4、-5。把鍵位都填到左邊那欄裏。因爲E6缺左右軟鍵,所以把上下音量鍵的鍵值填在左右軟鍵裏。當然,有些遊戲不用左右軟鍵也可以運行,但卻缺別的鍵,比如說*鍵,這時候把*鍵對應的鍵值填在左軟鍵或右軟鍵的位置就可以。

右邊是你要修改的遊戲各個按鍵的鍵值,以N73爲例,左右軟鍵爲-6、-7,上下左右中和E6一樣,就不用改了。有的時候我們不知道手中的JAVA遊戲所支持的手機的鍵值,比如說我拿到了一款N95的遊戲,但不知道N95的鍵值,怎麼辦。嘿嘿,這裏江邊送大家一款小JAVA軟件,裝到手機就可以測試這個手機的鍵值了。

設定完畢之後,點保存到文件,可以自定名稱。這樣鍵位修改的設定就完成了。


然後是第二個選項卡:Screen,這是修改屏幕用的。有些遊戲是小屏版的,用這個功能就可以拉申屏幕變成全屏,但不是每次都能成功。因爲不同遊戲所用的屏幕位置的計算方法不同(這說法不是很專業,不過確實如此。。。)。

  屏幕設定.jpg (31.41 KB)

2007-10-7 22:26

再下一個選項卡Font,這是對字體的設定,爲一些低分辨率手機準備的功能。E6的屏幕大小和分辯率都很OK,基本不需要。如果遊戲過程當中發現字體太大或者太小,可以使用此設置。

  字體設定.jpg (22.84 KB)

2007-10-7 22:26

第四個選項卡:FIlter,非常重要!由於有些遊戲只有諾基亞的版本,使用了諾基亞專用的API,所以其他手機是跑不動的。這時候在“我的機器跑不去擴充的增強版Nokia API兼容包”前打鉤,就會自動加入COM文件,使之兼容你的手機,也就是E6。但需要注意的是,加入COM包會降低遊戲的運行速度,所以確定遊戲無法在E6上運行之後再加入。另外一個“全屏偏勢狂模式”我不是很清楚功能,有試出來的朋友回帖說明下。

  API設定.jpg (21.77 KB)

2007-10-7 22:26

第五個選項卡:Misc1,沒什麼好說的。前面的兩個過濾我不清楚作用,但根據經驗會降低遊戲修改的成功率,所以不鉤。E6可以直接讀取JAR文件,所以也不用生有JAD文件(有些MOTO手機只認得JAD文件,汗。。。)。其他的按圖片設置。

  無用.jpg (26.3 KB)

2007-10-7 22:26

Misc2選項卡是一些周邊設定。第二個是改遊戲後會在被修改的遊戲所在的目錄裏自動新鍵一個JavaMagic_Out文件夾,存放修改好的遊戲,在批量修改的時候最好使用。“JAR中文文件自動改名”會把中文名字改成縮寫,我一般不用。其他的不用說了,自己看着點。

  小設定.jpg (20.46 KB)

2007-10-7 22:26

一切設定結束以後,就可以開始轉換心愛的遊戲咯。再也不用等江邊改遊戲,自己動手,豐衣足食,大家努力。再說一次,記得把改好的好遊戲發上來分享,別費了江邊一番苦心。我下次還打算髮修改觸屏的教程呢。

----------------------------- ---------------------帥氣的分割線---------------------- --------------------------------------


今天更新修改觸屏的教程。

再次隆重介紹更加NB的軟件:ChMobileKey。prik大俠做的這個軟件可算是觸屏手機的救世主了。這是目前唯一一個可以修改觸屏鍵位的成品軟件,而且更新迅速,我會第一時間發出軟件的最新版本,請關注。

這個軟件比和JM比起來更加簡潔。有機友說JM他已經會用,爲什麼還要發。我覺得吧,JM是元老級的軟件,不得不提,而且可以作爲鍵位修改的基礎性課程。總要懂得原理,才能考慮更高級的操作吧。好了,不說教,認真寫教程。

這個就是軟件的主界面。

  3.jpg (55.74 KB)

2007-10-9 00:22

軟件主界面主要三個部份組成:“鍵值轉換設”、“GetGameAction設定”以及“觸摸屏設定”。
點一下“缺省設置”,空白的地方就被填滿了,由於prik是以E680I爲樣機編寫的軟件,所以缺省設置是針對E680I的,我們要做的就是改成適合E6。

  2.jpg (57.35 KB)

2007-10-9 00:22

“鍵值轉換設定”的原理和JM基本相同,左邊填入的是E6上按鍵的鍵值,右邊填入的是遊戲當中對應需要的鍵值。
由於E6只需改左右軟鍵,所以只需把-6、-7的鍵值改爲E6的上下音量鍵-30、-31(通常諾基亞手機的左右軟鍵鍵值都是-6、-7)。其他的可以不用理會。

“GetGameAction設定”我的水平無法理解透徹。這裏放上大俠的原話,有相關知識的機友請幫忙回帖解釋一下。

   本版實現了對getGameAction返回值的修改和設置功能。由於理解getGameAction需要有一定的基礎,所以我簡單地介紹一下。如果各位能理解地話,可以讓你的改鍵作品更加完美,如果不能夠理解,缺省設置也是關閉的,90%的改鍵作品是不需要動到這個地方。
getGameAction(keyCode)
也就是說,這個值是由KEYCODE所得來的,值列表:
鍵名   KEYCODE GAMEACTION
導航鍵上:   -1   1
導航鍵下:   -6   6
導航鍵左:   -2   2
導航鍵右:   -5   5
中鍵:       -20   8
數字鍵1:   49   9
數字鍵2:   50   1
數字鍵3:   51   10
數字鍵4:   52   2
數字鍵5:   53   8
數字鍵6:   54   5
數字鍵7:   55   11
數字鍵8:   56   6
數字鍵9:   57   12
由上表可看出,如果一個遊戲採用了getGameAction(keyCode)這樣的方式,得出的值無論是導航鍵還是數字鍵的2、4、6、8,都可以來進行操作,節省了程序員的麻煩及節約了空間。而且getGameAction是標準API,即上表中的值在任何機型上都是相同的,所以也十分方便移植(多用在動作和射擊遊戲上)。
下面我舉一個實例來說明一下:
對於聖戰-以諾之子這個遊戲而言,它需要用到*/0~9鍵,需求鍵位有點多,看來要用到觸屏鍵了。
先用JavaMagic處理一下(:-( 因爲它不能在我的E680i機器上運行,而我又懶得手動加兼容性包),再用改鍵程序,設置音量上、下鍵爲0鍵,設置左軟鍵爲#(不知道有什麼用,有備無患的好),設置右軟鍵爲*,觸屏9鍵設置爲1~9。
OK,轉換後運行發現一個奇怪的現象,觸屏1、3、7、9鍵正常,但2、4、6、8及5鍵不能正常使用!
反編譯程序後查一下鍵處理函數,發現原來是由於1、3、7、9鍵是直接處理,所以觸屏鍵設置後正常響應。但2、4、5、6、8鍵是調用了getGameAction()函數進行的處理,而E680(i)機器上沒有正常數字鍵,因此它的getGameAction()函數也沒有返回正確值,導致這幾個鍵無效。
知道原因就好辦了,重新打開改鍵程序,啟用getGameAction設定,這個功能可以讓我們擴充和修改手機上原有的getGameAction處理函數。因爲缺省設置是照E680手機設的,所以不用調,直接轉換就可以了。重新安裝後運行,發現這一次觸屏2、4、5、6、8鍵都可以正常動作了。
本功能還適用於由於導航鍵碼不同而造成getGameAction返回錯誤,從而導致遊戲操作鍵位混亂情況下的調整。


“觸摸屏設制”是這個軟件最核心也是最吸引人的部份。大家可以看到,軟件把240*320分辨率的屏幕分成了九部份。上面和左邊的縱座標和橫座標就是四條分割線的位置。經過計算,平均分配的九部份的設定應該是縱座標1:80、縱座標2:160、橫座標1:107、橫座標2:214。機友們可以根據需要自行調整。我想DX決定把屏幕分成九部份是比較合理的,如果分得再細一些,玩家就無法準確把握按鍵的位置了。

而觸屏鍵位的設定實際上就是把相應的鍵值填入九個方格當中。E6最缺的是數字鍵和#*兩個鍵。這裏發上所有按鍵的鍵值,機友們根據各自的需要填入。
1:49  
2:50  
3:51  
4:52  
5:53  
6:54  
7:55  
8:56  
9:57  
#:35  
0:48  
*:42

以上設定都完成之後,點擊“保存設置”,下次使用的時候點擊“配置文件”就能直接讀取。下圖是江邊轉換遊戲的常用配製,供機友們參考,上下音量鍵對應左右軟鍵,屏幕上的鍵值設定爲:
123
456
#0*

軟件暫時只支持單個文件的轉換,轉換完成後會在根目錄生成pkg_new.jar文件,改下名字即可。

  1.jpg (59.79 KB)

2007-10-9 00:22

軟件使用的小技巧和注意事項:ChMobileKey無法修改JM改過的文件或者已經支持觸屏的文件,但是JM可以修改ChMobileKey改過的文件,所以,有些使用ChMobileKey修改但無法使用的遊戲,可以試試再用JM轉換,加入COM包,沒準就能運行了。現在弄明白爲什麼江邊要先發JM的教程了吧,用心良苦啊。


都發完咯,是不是覺得JAVA改鍵並不神祕,而且也不像想像中的那麼難。那就動手吧,把自己改出來的好遊戲發出來跟大家分享。江邊希望自己不是一個人在戰鬥,呵呵

以上爲江原原創的教程!拿來大家一起看看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章