起因:随着303的深入人心,以及共享资源的逐步丰富,我想各位的手机里多多少少都有一些java游戏(或者电子书)了。我们一方面要为选择了303而庆幸(支持java且空间较大),另外一方面更要感谢各位资源搜集、整理、提供者的辛勤劳动,希望大家共同努力再接再厉,把我们的小三建设的更好。
不过,大家可能也发现了,很多游戏都是英文名称的,而且意义不是很明确,放在一起不容易分辨;另外,好多游戏使用的是系统默认的图标(一个控制杆)。我想为每个游戏(或者电子书)起一个含义清晰的中文名字,定义一个一目了然的图标,大家是不是也这样想呢?
前人的成果:herofelix朋友在4月12日发表了《弄出或自己制作JAVA游戏的图标》这篇文章,对定义图标和名称做了很多研究。对我的实验起了很大的帮助作用,在此深表感谢。不过,hero的方法只解决了图标问题,未解决中文名称问题,而实际上图标和名称是可以一起改的。
工作原理:java程序的名称和图标等,都在jar文件包中meta-inf文件夹下的menifest.mf文件中定义(jad文件其实也是根据menifest.mf生成的),所以,可以通过修改该文件来自定义名称和图标。
前提和准备工作:
1.安装了winrar软件并且基本会使用;
2.有JAD生成工具:JADgen.exe
3.如果要修改图标,要安装ACDSee图像编辑工具(也可以是PhotoShop等其他工具,只要能编辑图象就成);
详细步骤:
1.用winrar打开你要修改的游戏的jar包;把meta-inf文件夹下的menifest.mf文件取出来;
2.用记事本打开menifest.mf;
3.检查文件,与名称有关的是这两行:
MIDlet-Name: *****
MIDlet-1: *****, /icon.png, classmain
其中,****就是游戏的名称,你可以把他修改成你喜欢的任意名称,比如“仙剑奇侠”、“I'm not 黄蓉”等;唯一注意的就是两行中的名称要一致。
4.与图标有关的是这两行:
MIDlet-Icon: ***.png
MIDlet-1: GameName, ***.png, classmain
***.png就是图标文件的名称,比如icon.png, /icon.png, /image/icon.png等等;其中“/”表示路径,比如/icon.png表示图标是根目录下的icon.png文件,/image/icon.png表示图标是/image/目录下的icon.png文件,等等。没有“/”表示文件放在根目录下。
图标的名称也可以随便修改,但是上述这两行的文件名称一定要一致,另外建议最好不要用中文名称。
可能有的MF文件中没有MIDlet-Icon: ***.png这行。没关系,这表明游戏没有定义图标,你可以定义一个图标名称,并把这一行添加到文件中(但是这时候工作还没有完全结束,因为图标文件还没有放入jar中;不要着急,继续看下文);
5.MF文件中的MIDlet-Description等说明性内容,也可以修改成自己喜欢的文字;MIDlet-Vendor也可以修改,只是不知道是否涉及版权问题,呵呵。
6.保存修改后menifest.mf文件,注意:一定要保存为UTF-8格式。方法:文件>另存为>编码中选择“UTF-8”。如果不保存为UTF-8格式,最终的jar文件无法上传到手机,切记切记。
7.利用ACDsee等工具,生成游戏的图标:
1)如果原来游戏中的图标符合要求可以不修改直接使用;
2)你可以从jar中取出原有的图标修改,生成新的图标;也可以直接编辑别的图象生成图标;
3)当然,生成图标不一定非得等这一步才作,完全可以事先做好;不过,不管采用哪种方式,都要注意:要用png格式,大小必须是15×15,文件名必须和你刚才在MF文件中定义的名字相同。
8.再次用winrar打开jar包:
1)用修改后的menifest.mf替换原有的同名文件。
2)把制作的图标文件放入jar包;如果包中有同名文件,直接替换即可。另外要注意:如果你在在MIDlet-Icon: ***.png一行定义了路径,注意把文件放入指定的路径。
9.利用JADgen,重新生成jar包的JAD文件;
10.万事大吉,现在可以把游戏上传到手机了。效果怎样?