半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
7 N3 C, \4 _4 ^# S
& _2 b! X4 T( \% b7 D5 t" q半影 字库图片制作方法详解:
9 W5 r. f/ V( g" q# [9 D: q: u/ c7 `, q4 q* N3 k* h
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。
" h8 V2 x8 O; r9 g半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
7 K1 w/ I$ D1 i0 ^6 ` o由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
; ^" \9 T5 l) Z) y& }6 S+ a8 Q3 ^. k2 u) ~; h3 P8 C2 I" A" Y; V* r |/ U. o0 r
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。
+ p; _: I1 O9 J6 `: G; S* v! l% H, l6 k( g$ q- e* G
2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。" J7 u7 N l3 k; G/ ^4 {; x7 \
注意:fnt里边的中文字体名,需要改成英文的。
) ]- E/ ~7 o* C' w- t' w, Q2 l( @! ?* L4 D
3. 使用转换Unicode编码工具一枚。( {- v. e8 V; R! \
# h8 r1 R2 K$ v7 T4 y
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。
2 c+ R8 v2 d' a N注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。7 r' o4 A- d& p1 S$ i8 n
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。. j1 d8 v L+ O9 E+ @
; O$ x- D; z9 ?- ?9 N1 Z
4. 使用字符排列编码工具一枚。
1 {2 }% X5 B1 H9 x& j* D" b; R
+ ?6 c/ \4 M. |$ ?5 x1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
) P" D0 h f9 f使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
+ b4 W8 f- R6 U/ ~6 \输出的文件格式为txt,形式是:: |+ k2 S& }5 f. j
新的编码 文字 原来的unicode码
+ _3 E& G" c- C, E! n$ q; | y2)修改字幕和字库图片定义文件6 l2 D- h% g* ~# y
使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。+ R8 s4 \. `! K2 a T6 f! O
输出为新的编码所定义的字幕和字库图片定义文件。
* G, {" }# R* v$ S/ [2 v; e
1 T" m# `% ?+ @, o, B5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)+ k) K! w% v5 ^4 J
4 T& `) U4 }1 V2 S所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
\, j9 H; a( c' l9 c不过也不是什么通用工具,没什么现实意义。XD |