Halo插件编写教程(2007.09.20更新)
终于的终于,终于要开始写如何编写halo的插件了,好让更多人投入到汉化中去。让汉化成为大家的事情。[b]插件编写的前提:[/b]
需要熟悉java语言,对io的读写有一定的了解。并且能熟练掌握开发工具。
[b]插件格式说明:[/b]
在halo里面,大家所熟悉的语言包,实际上这种说法不准确,在halo的插件里面我们把它称为资源。在插件里面我们就叫做pak。而一个pak可能包含了语言文本,图片,声音和未知的数据(可能是地图的结构信息或者游戏中用到的数据结构等等)。而四种对象在halo的语言里面我们分别命名为:
[b]语言文本 -- PakString[/b]
[b]图片 -- PakImage[/b]
[b]声音 -- PakSound[/b]
[b]未知数据 -- PakUnknown[/b]
而这四个对象都是继承了[b]PakObject[/b]这个基本对象。各个对象根据其不同特征有其自己的访问方法和读取方法。打个比方来说一个资源里面的图片数据块(这里我们叫做chunk),它可能是一个完整的png格式的数据,也可能是nokia特有的4444或者565的格式,也就是说一个对象里面的结构根据属性不同而不同。但是对插件的开发却无需知道,其是透明的。插件的开发者只需要知道调用方法来获取或者写入数据即可。
[b]插件是如何被调用的:[/b]
学过java的人都应该知道,一个编译好的class或者jar都是通过jvm下的classloader来加载的。所以插件也是如此(插件本身也是一个jar文件)。其放在halo下的plugin目录下,当halo运行的时候,会设置plugin为classloader要加载的目录之一。
[b]开发工具[/b]
因为halo是用java编写的,所以插件的开发也需要采用java来编写。开发java的工具有很多,notepad,jcreator,codewarrior, eclipse,netbeans等等。我个人一直在用eclipse,也用习惯了。所以在下面的教程中我将通过eclipse来进行一步步地图例化插件开发教程。
各位有兴趣开发halo插件的朋友可以通过[url=http://www.eclipse.org来下载eclipse。其是开源的,不需要安装,解压缩即可。]www.eclipse.org来下载eclipse。其是开源的,不需要安装,解压缩即可。[/url]
未完待续
===================================
今天实在太累了,接下来我会结合例子来告诉大家怎么一步步开发出第一个插件来(例如远古帝国)。同时我也在考虑如何开发一个插件开发工具(可视化开发工具)。使得不懂得java的人也可以开发插件。 说了一大堆,什么都不如一个例子来得生动,下面我将通过一个大家再熟悉不过的手机游戏《远古帝国2》来讲解如何开发该游戏的halo插件。为什么要采用这个游戏,我觉得很多接触汉化的人都应该很了解它,而且它很具有代表性,因为其资源包包含了声音,图片,文本等等元素。那么废话少说,我们就开始这个插件开发之旅吧。
1,打开eclipse,通过File->New->Project来打开“New Project”窗口。如下图所示:
选择“Java Project”,然后next,在弹出的窗口输入你这个插件的名字。例如这里我们输入AncientEmpirePlugin。 占位 占位 :004 BB加油快点写... :大笑 这个强,一定要支持 我喜欢 前排学习 超强,支持bb:眼睛 支持bb 编程的一定要支持...期待那个可视化工具诞生.那就可以事半工倍了. 楼主 ,憋了这么久,终于射门了!!! 支持bb:大笑 学习学习 :爱意 I like! 加油阿~~希望趕快出完整教學^^ 这次真家伙来了。一定要跟贴! 我也占位
:流汗 哦~这个技术含量可高了:013
基本上完全没搞懂:吹吹 bb终于开始了……
打个地洞支持…… 支持 只能等可视化开发工具了
