半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。
$ U' K' h9 I: o; |; I3 j# D" s1 N& q$ e5 r6 z5 w7 A
半影 字库图片制作方法详解:
4 m. p4 Y& R! X x+ K# E& ^0 c& s5 J2 G; Q
半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。5 J( m0 K. _" g
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”
3 C& z0 }5 ^1 j由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。3 H( i1 `( j6 O% U$ o8 K0 w9 e
! n$ P3 F9 m1 t. q
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。
; Y, i# w! s! p1 H M0 `
; k. W: F/ f4 j0 f2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。9 S: d5 [1 ]& Y8 W$ M
注意:fnt里边的中文字体名,需要改成英文的。- s8 L d4 k" Y: s% c- \& _5 a
. o) \' r! [( {9 I3. 使用转换Unicode编码工具一枚。5 _. Q* d) t$ P
/ H9 A% \* p0 y, w使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。
- G: c+ {; I! u4 j注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。/ y0 P4 k+ m4 u& Z2 ?
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。2 F5 O* a& R6 t/ s9 O
8 L4 Y/ [6 ]5 c4 `% D4. 使用字符排列编码工具一枚。, n! N: x p! n. i% g5 c
- D' v* z. ^' J/ Q$ E s1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
8 x% ?. O7 q2 Z, H( q使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置8 Y: s& _4 f) b: t/ g5 [
输出的文件格式为txt,形式是:5 d, x3 j# F p# H* Z L" Z6 w
新的编码 文字 原来的unicode码
- a* B' V7 `) d9 S2)修改字幕和字库图片定义文件+ P. m' Y5 Y7 T5 C4 s+ A1 v
使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。4 Q9 w/ x3 {; V! y' S
输出为新的编码所定义的字幕和字库图片定义文件。0 \( v+ C9 K% s) D2 m/ }1 ^
" X/ ?/ R) x6 r2 a3 K: f; \: A
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
4 [( ^7 n u4 w6 t5 f0 F1 G/ r( _& H- S5 K- n/ \( a
所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。
9 h" \+ t1 b+ |0 ^* C不过也不是什么通用工具,没什么现实意义。XD |