前三步应该不难,甚至可以合并到一个工具里来实现。也就是从TXT中提取汉字,整理不重复的以后,直接生成TGA文件。4 e/ {3 l8 |* e' K% D3 R) G
至于第四步,我还没有研究过游戏的XML结构。不好下结论。但想来是XML结构应该不会太难。
& F8 V+ c3 {6 {+ W因为下载的两个游戏都在单位的电脑上,我明天一早就出差走,可能没有时间去研究了。那就凭我现在的理解说两个问题,可能两个问题一旦搞明白XML文件以后就不是问题了,但还是希望007能给我解释一下,这样我在出差的时候就能够把程序的主题框架构思出来,解决一些算法上的问题,出差一回来就可以动手了。) B; v |/ A9 W; }
# Z) i3 H# X8 L问题1:我们汉化的游戏中的英文和数字怎么处理?仍然调用原来的字体TGA文件吗?: w. N% [; l( T" [' P
问题2:假设我们汉化制作好以后的TGA中按顺序保存了如下汉字“一二三四”,而在需要显示的对话中,一句是“一三”,另一句是“一四”。
0 a9 P, F0 o5 [5 y* H那么在XML中,是不是应该有这样的结构:7 p! G9 K1 ]& H
{
! h; }8 g3 Y. BSHOWTEXT //需要显示文字的ID,或者是偏移量' N Q" x$ v3 z. | ^+ N
X // 显示的X坐标! m( n' R6 }2 R$ u) ?7 x7 T$ v
Y // Y坐标
; f$ E8 Z+ x, d7 H0 V/ v- A}: o: E# p5 ]0 P4 a F
当然,如果这个结构中再包含字体文件,那就解释了我的第一个问题。如果是这样,那又出现一个新问题,就是制作汉化的XML时,需要考虑英文或者数字的宽度,将后面的文字显示位置进行调整。
; }' F+ P, O6 q/ p7 Z* Y X/ e5 x! z
+ X4 \ D4 D8 @+ ?0 D# X5 L2 A“一三”对应的XML内容就是{TGA名, ID:1, X:100, Y: 100;TGA名, ID:3, X:116, Y: 100} //假设显示在(100,100)
8 G. p6 H* ~, i+ {4 l! f7 @“一四”对应的XML内容就是{TGA名, ID:1, X:200, Y: 100;TGA名, ID:4, X:216, Y: 100} //假设显示在(200,100)6 @% w9 Y, b7 u4 G
0 a3 M% I$ I# p) u) l- M! E( N6 a
猜测,以上都是我的猜测,请007发一个游戏中XML的样式我看一下。 |