半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。+ e6 I' @5 j+ f) ^+ ~& x3 g
! K- T) x3 E% y, h4 f |& B
半影 字库图片制作方法详解:
7 \$ A. {3 g, h; P
8 h) Z1 V7 X" N) d半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。: T$ N0 h6 r+ C/ G! X/ R. ~& s
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
% Y! _* L* h8 K: m! i; J; ^由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。' s' ]) S( M/ B: i# G
' t+ V& I& @! }* g1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。5 {6 l. d& Y' P! e m `8 R0 x; J4 a
, D9 y! m0 d( R7 z/ s2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。2 y% {2 H( T1 o) z6 j
注意:fnt里边的中文字体名,需要改成英文的。
5 F+ P9 B: u4 @1 w2 w) H7 k0 g& x2 ~4 g7 }1 e, c' P! Y2 W# B
3. 使用转换Unicode编码工具一枚。
, W" B. F. O/ E6 s1 a/ Z! E7 i& H0 r9 v& m# W
使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。- k. @$ `: o3 O# Q
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。( X- t+ k+ H- W: q5 @% h% G h
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。5 u& a2 q# K6 i: S( n A0 u% a" n4 m
1 \ f; g8 ]8 A
4. 使用字符排列编码工具一枚。
: }. b5 e" U/ P5 G4 x' ?! j E$ C) @1 T3 b. e: d
1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。/ K6 U& N, F; J
使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
' |$ |2 U3 t1 [, G输出的文件格式为txt,形式是:
' V2 y1 ^0 K4 u" w# X新的编码 文字 原来的unicode码
9 T- s# z$ ?, Z" b% W2)修改字幕和字库图片定义文件
1 J7 p5 B3 c/ Z! A8 Y/ o- L使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。$ i, l7 b" E- V% s
输出为新的编码所定义的字幕和字库图片定义文件。
+ h# H, I" c5 B& ^% T; ]6 M! U7 C# l& T* ?5 I
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
5 y0 E9 T O( D6 S; y+ h% F- r0 q5 u0 j; w9 a8 n
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。( f! a. e$ ^9 i1 Q) o7 a! y( }
不过也不是什么通用工具,没什么现实意义。XD |