前三步应该不难,甚至可以合并到一个工具里来实现。也就是从TXT中提取汉字,整理不重复的以后,直接生成TGA文件。
7 z$ |: b; N% z; J至于第四步,我还没有研究过游戏的XML结构。不好下结论。但想来是XML结构应该不会太难。. q L9 w: x6 C% _# |
因为下载的两个游戏都在单位的电脑上,我明天一早就出差走,可能没有时间去研究了。那就凭我现在的理解说两个问题,可能两个问题一旦搞明白XML文件以后就不是问题了,但还是希望007能给我解释一下,这样我在出差的时候就能够把程序的主题框架构思出来,解决一些算法上的问题,出差一回来就可以动手了。
/ e3 R7 `# ?5 u* y) i5 o1 d& b$ a7 O( U9 C+ f$ F/ v
问题1:我们汉化的游戏中的英文和数字怎么处理?仍然调用原来的字体TGA文件吗?
# G# u) F3 n# o: o) i- J+ K问题2:假设我们汉化制作好以后的TGA中按顺序保存了如下汉字“一二三四”,而在需要显示的对话中,一句是“一三”,另一句是“一四”。
! _/ B! m& i/ m% Q8 ~7 m( [那么在XML中,是不是应该有这样的结构:! m2 H+ v' p' L" x; j3 K
{+ t6 P7 Y4 q: D2 H6 t; r4 Y5 J" Y* n
SHOWTEXT //需要显示文字的ID,或者是偏移量
7 A" C" y2 s- RX // 显示的X坐标
( o i7 L- D* T: K4 m1 X" fY // Y坐标
4 Z3 A/ o3 J3 G}
! U! y" a2 l' D0 W9 `/ D* F当然,如果这个结构中再包含字体文件,那就解释了我的第一个问题。如果是这样,那又出现一个新问题,就是制作汉化的XML时,需要考虑英文或者数字的宽度,将后面的文字显示位置进行调整。1 N, {5 Y6 g, p) v! n: T; C5 H. f' w
2 u! c+ r9 y; [“一三”对应的XML内容就是{TGA名, ID:1, X:100, Y: 100;TGA名, ID:3, X:116, Y: 100} //假设显示在(100,100)# |+ x8 L$ O! v5 c8 b
“一四”对应的XML内容就是{TGA名, ID:1, X:200, Y: 100;TGA名, ID:4, X:216, Y: 100} //假设显示在(200,100) @8 t, i& `" d8 K
! K1 f5 }! V7 H6 E
猜测,以上都是我的猜测,请007发一个游戏中XML的样式我看一下。 |