修改适合TCLE787游戏示例(加触屏篇)

来源:岁月联盟 编辑:zhuzhu 时间:2009-02-21

二。给HandyPartner提示有触屏的非触屏jar游戏加触屏。

前言:对有些非触屏jar游戏(例如07QQ),我们用HandyPartner加触屏时会提示有触屏,而无法用HandyPartner加触屏,原因是HandyPartner判断一个游戏有没有触屏是通过搜索游戏里面有没有pointerDragged,pointerPressed和pointerReleased方法,只要搜到其中之一,就判定是触屏游戏。而由于游戏本身不是触屏游戏,里面的pointerDragged,pointerPressed和pointerReleased方法并没有什么用,我们只要把这些方法改名,然后再用HandyPartner加触屏就可以了。

准备工具:

JavaMagic6。0(修改键位工具)

UltraEdit(十六进制编辑器) handypartner_v1.6(改触屏)

(1)这里以三星E838 B1版QQ为例(原版不能加触屏):打开JavaMagic6。0,先设置一下:在KeyCode设置里把那个(启用键码转换功能)选项勾上。在Misc2设置里把(仅显示摘要)选项去掉选择。如图:

(2)确定设置,点(处理jar)按键。等处理成功后,在JavaMagi界面里寻找Found: Displayable.getHeight() or Displayable.getWidth()。已将MIDP Canvas类替换为CanvaPlus可能监听了按键事件。在这里我寻找到在gw.class里。如图:

(3)寻找触屏方法:

解压E838 B1版QQ。在触压包里找到gw.class,用UltraEdit打开,打开后,点(视图)下面的(切换十六进制模式),切换成二进制模式,快捷键ctrl f,弹出查找界面,输入pointerDragged,点(下一个)查找,这时,就会找到触屏方法pointerDragged,在其后面的就是pointerPressed和pointerReleased了。如图:

(4)修改触屏方法:

找到触屏方法后,接着又点(视图)下面的(切换十六进制模式),切换回十六进制模式,在高亮的地方就可以看到触屏方法了,修改很简单,只要把那三个方法的开头P字改成其它字母如d,c等就可以了。修改后保存。如图:


(5)为QQ加触屏:

把这个修改后的gw.class拉进QQ里覆盖原来的gw.class。然后把这个QQ放进handypartner_v1.6目录下。打开 handypartner_v1.6,勾上(启用触摸屏),设置好你需要加的按键值转换就可以加触屏了,如图:

这里要感谢Minisoyo社区的dayx前辈为我们带来这么实用的修改方法。