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

二 。给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)修改触屏方法:
【加触屏篇 修改适合TCLE787游戏示例】找到触屏方法后,接着又点(视图)下面的(切换十六进制模式),切换回十六进制模式,在高亮的地方就可以看到触屏方法了,修改很简单,只要把那三个方法的开头P字改成其它字母如d,c等就可以了 。修改后保存 。如图:

(5)为QQ加触屏:
把这个修改后的gw.class拉进QQ里覆盖原来的gw.class 。然后把这个QQ放进handypartner_v1.6目录下 。打开 handypartner_v1.6,勾上(启用触摸屏),设置好你需要加的按键值转换就可以加触屏了,如图:
这里要感谢Minisoyo社区的dayx前辈为我们带来这么实用的修改方法 。

    推荐阅读