半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
3 n% o& U, t6 ?' V9 i* y1 |& L! r$ d' ~0 M
半影 字库图片制作方法详解:
6 _" t" a6 }8 V! [: I
7 v1 }7 d5 o" c半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。5 N K% Y x8 L. x$ ]
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”, a& f9 f) _, q( e) F
由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
7 _3 ]: ]- ?) V4 @2 t! p; O& I1 L& ]2 [6 f6 n' {
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。8 s3 D; d5 k/ h6 ^( Y9 t
( X4 T- f: Z9 D2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。2 t% ~' C$ i6 P7 h+ E2 T8 g( J1 ^
注意:fnt里边的中文字体名,需要改成英文的。/ B/ `4 Q/ @) a9 t7 d$ L! V; T
. K" p' a8 ~' N! @2 d3. 使用转换Unicode编码工具一枚。: e- W+ n8 }0 d0 l( L
; Q3 |, s2 \5 F+ X2 X
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。5 j; I4 |* o8 L4 X/ }7 N, H
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。" Z: X8 V8 _7 W. M
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
- T4 L, j# L* x2 j1 e, j) ^. {" Y5 D
4. 使用字符排列编码工具一枚。
, R8 Z9 G7 t" X1 D3 L* R# q1 N$ I" J0 L! m* I; Z% G+ o* d- j/ n
1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
, s- Q/ R x, v$ T: W使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
4 c+ d; z& P; H, ]5 r输出的文件格式为txt,形式是:
T2 \9 u# s2 t& L0 ~$ i$ h新的编码 文字 原来的unicode码
# i6 t" o4 P c6 u! r. o2)修改字幕和字库图片定义文件
! ?. E0 I& ~) I6 J使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。4 {# P4 n( J1 @- ` R4 I+ M) C
输出为新的编码所定义的字幕和字库图片定义文件。
; j( C3 x- s& f8 s$ ?% y( q/ i: I+ X* P. A0 d: i% V
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
2 |* ~% M. y( p, l/ K$ }( @1 N1 n4 R' L( e! B
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
+ ]# m( G3 v# T( N r不过也不是什么通用工具,没什么现实意义。XD |