收藏 分销(赏)

Fishlabs修改教程.doc

上传人:pc****0 文档编号:7778390 上传时间:2025-01-16 格式:DOC 页数:7 大小:289.50KB
下载 相关 举报
Fishlabs修改教程.doc_第1页
第1页 / 共7页
Fishlabs修改教程.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
Fishlabs(魔鱼)游戏汉化 这个很久以前就有这个想法写一个魔鱼的修改教程,一直觉得很麻烦就一直耽搁着。 这篇文章首先感谢kim1997在魔掌的教程,这里相当于只是给大家细说一下如何去修改。 首先,这个修改需要自己去重新编写游戏里的一个class(就是显示字符用的class),所以你需要准备Netbeans或者是Eclipse之类的工具。本文使用的是Netbeans。 现在开始说一下正式过程(以附件中的Powerboat Challenge_full_240x320.jar为例)下载地址: 首先用Halo打开游戏,这里只是相当于解包jar的一个过程,然后可以关掉Halo。进入.\Halo\games\Powerboat Challenge\src中,逐个反编译各个class,在反编译到bu.class后可以发现一些细节。 public bu(String s, Graphics g, byte byte0, int i, int j) { c = 0; a_javax_microedition_lcdui_Graphics_static_fld = g; f = byte0; try { a_javax_microedition_lcdui_Image_fld = Image.createImage(s); //传入字体图片 a_short_array1d_fld = new short[i * j];//i图片中字符纵向个数,j横向个数 b_short_array1d_fld = new short[a_short_array1d_fld.length];// a_short_array1d_fld.length即i*j,字符的总个数 a_byte_array1d_fld = new byte[a_short_array1d_fld.length]; b_byte_fld = a_byte_fld = (byte)(a_javax_microedition_lcdui_Image_fld.getHeight() / i);//这里可以看到a_byte_fld和b_byte_fld等于字体图片的高度除以i,即每个字符的高度 d = (byte)(a_javax_microedition_lcdui_Image_fld.getWidth() / j);//这里d等于字体图片的宽度除以j,即每个字符的宽度 ……以下忽略; a_byte_array1d_fld这个存储了每个字符对应的宽度,在后面的方法中可以看到起用途 } ……继续忽略 public final int a(String s)//这个就是返回字符串长度的方法 { …… } public final int a(String s, int i, int j)//这里只不过多了一个i(Index起始位置)和j(Length长度)。意思就是说返回字符串s从第i个字符到第i+j个字符所形成的新字符串的长度。 比如说a(“Hello world!”,6,6)就是返回”world!”的长度。 { …… } private int a(char c1)//返回字符在图片中所在的位置 { …… } ……继续忽略 public final void a(String s, int i, int j)//从左至右画字,意思就是说先在初始坐标画第一个字符,然后横坐标加上前一个字符的宽度,再画后一个字符 { …… } public final void b(String s, int i, int j) //从右至左画字,这个正好相反,横坐标减去前一个字符的宽度 { …… } ……继续忽略 从上面可以看到下面的变量哪些在后面的修改有用,哪些没有用 private Image a_javax_microedition_lcdui_Image_fld = null; private short a_short_array1d_fld[] = null; private short b_short_array1d_fld[] = null; private byte a_byte_array1d_fld[] = null; public byte a_byte_fld = 0;字符高度,保留 public byte b_byte_fld = 0; 字符高度,保留 private byte d = 0; 字符宽度,保留 private static Graphics a_javax_microedition_lcdui_Graphics_static_fld = null; 图像,保留 private byte e = 0; private byte f = 0; public byte c = 0;绘制字符时,调整纵坐标用,保留 } 然后,开始对其中的代码就行修改,打开Netbeans,新建一个Java ME->Mobile 应用程序,下一步,随便取个项目名,创建Hello MiDlet勾取消。下一步 然后点击完成就行了。 然后新建文件 下一步,类名改为bu。 然后把DJ反编译的代码全部复制进去,发现会提示一个错误。 这里暂时把public final void a(String s, int i, int j)改成public final void a1(String s, int i, int j),到时候在Halo里再改回去。好了现在没有错误了,我们开始修改。 我们先在最底下添加一个字体变量和一个颜色变量,删除之前说的没有用的变量。如下图所示: public Font font = null; public int color = 0; 这是发现Font这里出现了问题,转到开头 import javax.microedition.lcdui.Image; 因为没有用到这个了,修改为import javax.microedition.lcdui.Font; 然后逐个修改各个方法,具体修改见附件bu.java(建议用UltraEdit 32打开,能够自动语法着色,具体修改原因可看注释) 为了在Halo方便修改,又避免有重名的变量,可以统一将 a_javax_microedition_lcdui_Graphics_static_fld替换成a b_byte_fld替换为b 而a_byte_fld则在Halo里面再处理。点击bu.java,右键选择“编译文件”。然后在 我的文档\NetBeansProjects\项目名\build\compiled里可以找到bu.class。反编译看看,是不是已经修改好了。这个现在可不能直接打包进jar里。 这时我们需要建一个空jar包,随便复制一个游戏,用Winrar打开,比如依然复制Powerboat Challenge 3D by Fishlabs SE 240x320.jar这个游戏改名为“test.jar”,Winrar打开,删除所有文件,仅留下META-INF。 进入META-INF目录,可以看到MANIFEST.MF,然后修改这个文件,可以把这个文件拖出来,然后用记事本打开进行修改。 修改以下蓝色的两处为其他名字,例如test之类的: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.5.0_12-b04 (Sun Microsystems Inc.) MIDlet-1: test,/data/icon_26x26.png,Main.MainMIDlet Nokia-MIDlet-Category: Game MIDlet-Vendor: MIDlet-Icon: /data/icon_26x26.png MIDlet-Version: 1.0.1 MIDlet-Name: test MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 然后保存,拖回去覆盖原文件。 然后不要忘记把之前生成的bu.class打包进去。 然后打开Halo,打开这个文件,bu.class右键选择Edit Class,首先先修改a_byte_fld之类的名字,可以在全文查找里搜索a_byte_fld,然后看到两个结果,双击这一行,然后再双击蓝色这一行 把a_byte_fld改成a,然后确定。类型的修改所有结果,别忘了保存方法。 重要的是,不要忘记修改以下地方: 1.点击 右侧修改a1为a,然后保存方法 2.点击 右边修改a_byte_fld为a,然后保存域。 然后“编译”,就可以在.\Halo\games\test\build目录下得到修改好的class了。 复制一份原游戏,然后把这个修改好的class打包进去,然后运行看看。 是不是就OK了呢,游戏修改大致就是这样,你可以对颜色或者坐标在Halo里面或者Netbeans里进行调整,已达到最佳效果。 至于文本汉化,文本一般为在data目录里,然后用Halo里自带的BladeAndMagic插件打开即可。 图片中的字体重叠可以减小byte变量a和b,或者使用点阵字体。关于点阵在以后再讲。 加一张修改成点阵字体的图:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服