半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
O! N% D. O: W6 D' Q
u; i- l. W- n0 b6 Z2 Z. r3 z& g半影 字库图片制作方法详解:
; k3 s/ z V# W' d
5 g/ q$ q6 Z G+ J0 L半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。
9 a" z+ D' _4 j/ L半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”/ E, S4 ]6 R& A, P6 [4 \
由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。# p9 Z- H: G/ B' c. l: i5 Y2 t
4 G( p* `2 a( j5 e8 E3 i, m( p
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。 Z( {6 K2 C( ^* T! j5 x
1 n$ f3 l% i, t9 z0 g) J5 r2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。
$ B* A3 N! a+ W& q* o2 B注意:fnt里边的中文字体名,需要改成英文的。; L4 y7 x( L7 T9 c# s+ g. Y! H
% L& l6 b0 z$ L, V% n' a7 B8 {
3. 使用转换Unicode编码工具一枚。
) r# m& [! z; J% x, {2 S3 `
2 H' n4 o$ G! J) L$ g6 A& M使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。
% j" J4 P7 V+ w注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。
5 b# @& I5 y" K0 I. h6 [& l3 C6 J输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
( y) Y; o7 }* j1 p. J5 ~; R8 [) m4 y* |( |- \ O; F
4. 使用字符排列编码工具一枚。1 O W; J) H7 e$ m
' g" U& s. S8 ]; W! S+ ?* U* F1 ^1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。* x7 j1 S, {3 i3 T; T7 n
使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置! z! ^( E6 I4 v) [ H/ C2 D% L- h
输出的文件格式为txt,形式是:5 X8 d7 }: l; E$ I. @
新的编码 文字 原来的unicode码
' D, T6 K; S" |; B; s9 {2)修改字幕和字库图片定义文件
. d' u( P `: P4 g2 A8 o使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。
- E) ~* U4 J. R, B- R输出为新的编码所定义的字幕和字库图片定义文件。
& X9 ?/ ?0 d) [5 m* J# U" b* Y
# A; b% `) U+ r7 |- }5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~), h' R; Z% I# r) F
2 v, b' ]! S; z5 L) `
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
# n. B! N5 ?8 z$ }% j- Y不过也不是什么通用工具,没什么现实意义。XD |