半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
* \2 D2 e2 j3 Y& W- ^( Z4 i# i# l& P" V+ u- X6 R( {6 m
半影 字库图片制作方法详解:4 ]8 c. m6 u, `& @# g/ {( }4 z. ?( F7 {
; C, b; |, z- E1 \! u5 }
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。6 r: b# k# i) M8 a& d
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”' K5 }$ p! ^( O) x
由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
6 J( G( f% l6 v4 m K0 U; O! |! A! Q0 j8 J
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。( Y. z8 Z: A2 |
7 [3 U+ m1 F# D* U; ^3 n" k$ H) t2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。' }' k9 u* e# \& T
注意:fnt里边的中文字体名,需要改成英文的。$ B+ Z0 n$ x& M ?3 m( ~ C8 @
* F# ^' M4 \2 U3 @& a; _6 Z: [
3. 使用转换Unicode编码工具一枚。
) m# {1 G3 y/ o ]3 |' E4 H' I2 @5 T7 e2 c A o1 }
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。5 a* E5 O3 R6 O
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。3 Q4 [5 X- ~; C( K8 q
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
9 `( F$ B2 ~! r$ ~6 g! u
4 H) ]& B0 a. i8 K* x4. 使用字符排列编码工具一枚。( a2 z% o% J3 D3 ^3 C/ w
. U' b2 @, R6 i/ e/ e1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
$ O, g2 ?( x' J. z使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
6 @2 H: q1 r" O输出的文件格式为txt,形式是:5 \6 @$ H$ l5 Z+ v$ B) v. |
新的编码 文字 原来的unicode码' `( |/ y& L0 F* f1 L; R8 T
2)修改字幕和字库图片定义文件/ l; R; j+ ~, o m0 |; S
使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。) S8 J" H: a* i" C. R- G/ s+ E
输出为新的编码所定义的字幕和字库图片定义文件。
" ^$ p/ F# ~/ {- x" \6 W) ?2 H. @* V7 o& @( a- [) H
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)- p4 o+ E8 W0 u2 n3 {! t
5 K. F# N7 f( z- ]& O
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
/ a Z+ y. ]1 X# `( B9 d9 c7 |- F% `不过也不是什么通用工具,没什么现实意义。XD |