前三步应该不难,甚至可以合并到一个工具里来实现。也就是从TXT中提取汉字,整理不重复的以后,直接生成TGA文件。0 j; e& D4 D! o9 Q$ }& w9 P9 i
至于第四步,我还没有研究过游戏的XML结构。不好下结论。但想来是XML结构应该不会太难。
) x4 H8 b) a" ^6 Z因为下载的两个游戏都在单位的电脑上,我明天一早就出差走,可能没有时间去研究了。那就凭我现在的理解说两个问题,可能两个问题一旦搞明白XML文件以后就不是问题了,但还是希望007能给我解释一下,这样我在出差的时候就能够把程序的主题框架构思出来,解决一些算法上的问题,出差一回来就可以动手了。
( ]( P/ x2 A4 j6 a" j2 e2 l: C: f1 M- D. F! z
问题1:我们汉化的游戏中的英文和数字怎么处理?仍然调用原来的字体TGA文件吗?+ ~ A' o$ B' ?+ K& `% d
问题2:假设我们汉化制作好以后的TGA中按顺序保存了如下汉字“一二三四”,而在需要显示的对话中,一句是“一三”,另一句是“一四”。0 g6 H* p* s% t6 Y
那么在XML中,是不是应该有这样的结构:
5 ?+ G9 o! P' d- F3 l7 {( g/ p{
8 q/ V2 X! T: q2 a" j" A, dSHOWTEXT //需要显示文字的ID,或者是偏移量- N/ Q0 e& @) z# q M5 y& J k
X // 显示的X坐标6 J2 Y% O+ z9 | e9 @( i# k
Y // Y坐标
+ S. s4 V7 i* G, {}" z2 G- Y% a9 }/ U. g: h$ j6 Y
当然,如果这个结构中再包含字体文件,那就解释了我的第一个问题。如果是这样,那又出现一个新问题,就是制作汉化的XML时,需要考虑英文或者数字的宽度,将后面的文字显示位置进行调整。
: Y; G1 D; \( n$ J" [5 R- h2 n$ Y" O0 S
“一三”对应的XML内容就是{TGA名, ID:1, X:100, Y: 100;TGA名, ID:3, X:116, Y: 100} //假设显示在(100,100)+ z# {# a% n! F2 ?) G
“一四”对应的XML内容就是{TGA名, ID:1, X:200, Y: 100;TGA名, ID:4, X:216, Y: 100} //假设显示在(200,100)
0 L0 T* Y1 Z8 M9 K% z. x8 V+ A' b
8 u7 ?2 ]; q+ s' }7 J% v猜测,以上都是我的猜测,请007发一个游戏中XML的样式我看一下。 |