半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。, @0 ~5 a8 {! o9 w r* w
8 \1 `8 P0 x+ H" h( H
半影 字库图片制作方法详解:
4 U$ d9 g% u0 ]! l/ e
3 C7 d* Y1 o5 L, J半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。" e# i1 t- F, k( l" _1 z
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
, h |. ]- [- S* p由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。3 G% |# ]- C% U( J) H5 w1 c
" _7 m7 r7 G. K3 _% G# u3 p' l
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。/ Q! r6 a9 ~; ?7 i) d9 U' A7 T9 G1 d
) J8 {6 Z# R% K0 t3 F5 T$ D7 g+ O! r2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。
' M' F' L/ e: o8 c/ J. [注意:fnt里边的中文字体名,需要改成英文的。
" `4 k/ c6 i% U5 _! i+ G' y6 c9 X" t/ X, a
3. 使用转换Unicode编码工具一枚。3 m6 o* `, G3 w, ]$ U& h' J
& E# T; S8 _! x1 y+ _5 b3 L3 e使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。
& d6 o. E! {0 e3 l注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。
6 {' l% D6 g4 m. A0 Z5 y0 l输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
/ D1 y( R$ e) _3 q9 N6 ~( d4 R; j( t7 R3 U. {
4. 使用字符排列编码工具一枚。
0 d( j* I* ]9 f( _9 k- H- y. k" M$ B2 B6 G0 \: _" k4 F
1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。4 h! v! w9 k& |3 x4 h
使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置& J; X& h$ f9 r/ j$ C$ a8 N6 W. R
输出的文件格式为txt,形式是:
1 a) f4 X. S7 f新的编码 文字 原来的unicode码
1 O* x4 Z* a) y$ i2)修改字幕和字库图片定义文件$ o0 S) o+ n7 `) E, M
使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。
& J/ M% `* O6 _+ z5 |2 V3 V1 k输出为新的编码所定义的字幕和字库图片定义文件。7 E0 N, b. S( P* k5 H7 |
) S+ H) h% x" Q8 p; d7 {5 n1 N* S
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
+ G$ K( u! p6 I' x" a' G2 i; m+ z9 l( @
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。* Y. F$ V; r( r( v% u! N8 H
不过也不是什么通用工具,没什么现实意义。XD |