半影1做完很久了,不过具体方法忘了放上来。突然想起来007交代的这件事情。。。0 B% D4 `2 T% {& a8 H$ \. }
+ M7 _: s# x+ `$ ~# L( i) E1 X半影 字库图片制作方法详解:, B" `$ X: C3 e$ ^* A
; n4 F8 ^- o. v% T& D0 H半影1和半影2的制作方法是一样的。半影3没有自己的字库,使用的是2的。' l: ~) M9 P1 W9 ~
半影1虽然是和后裔同一个妈生的,但是半影1年代有点久远,所以在编码方面有点不同。不同点在于,之前的一个帖子提到:“总字符超过10000游戏会出错。 ”1 N& p1 Q) _! |: u
由于中文字符的unicode编码往往都是大于10000的,所以在这个游戏中的处理方法是,自己重新设定编码,然后在字库图片描述文件中修改对应编码。
/ \5 B! N* w. R6 O7 d# R; H; x/ L- X, J5 Q$ O5 M
1. 使用tt(通用提取非重复字符及排序工具)提取中文文本。6 s) j$ @+ m3 |' R* j% G
/ O: Y; Y$ l. i% E1 u' C7 ?3 N
2. 使用bitmap font generator制作所需要的字库文件。图片大小可以取大于256,原装的版本是使用256的,大于256有可能使游戏不稳定;但也有人说是因为分辨率/显卡问题导致游戏不稳定。字体大小、是否粗体、spacing等可以参照原装版本。制作完后,fnt要分别改成原装的文件名,用来覆盖原装版本,图片不用改名(如果图片改名的话,注意对应的fnt里边要相应改名)。
: Y+ [8 i" q) o* c1 G1 G) Z注意:fnt里边的中文字体名,需要改成英文的。
) [% T \: J! U4 D5 w$ H, M* T% ]/ O- W" p1 k) u
3. 使用转换Unicode编码工具一枚。( x7 v; Z# r) T; r7 q- i
2 s# b9 y, A0 b: B使用方法:选择源文本(翻译好的中文文本),然后选择保存位置。$ J# E Y7 [- G+ t H/ E: y2 ]
注意:源文本要求为UTF-8格式的。如果不想转换格式,也可以自行到源码中修改(Line 35的编码)。8 t* U) }# X: ~3 X: J+ k9 F
输出的文件将会把所有2个字节的字符转换为[uXXX]形式,并且后边加空格(加了空格才能在游戏中自动换行)。
9 N) q/ J8 c( _; \0 b
}% s N7 Q! u4. 使用字符排列编码工具一枚。8 L. a7 [! H" X& k
% @, w! t" p% C! x1)把所有2个字节的字符重新设定编码。本枚工具设定从1100开始(已附上src,可自行修改;在const变量中定义了)。
3 ?1 l: d' @' O' _0 D7 u使用方法:选择文本(推荐使用tt提取后的文本),选择保存位置
9 N0 g+ Z% c' |) G# M' N输出的文件格式为txt,形式是:7 J3 Z* {- Y- o- K
新的编码 文字 原来的unicode码
, V7 Z- w* O; z3 f: ^2)修改字幕和字库图片定义文件) Z4 O$ f5 h) h. F
使用方法:选择1)所产生的文本,选择字库图片定义文件(fnt文件)所在文件夹,选择转换为[uxxx]形式的字幕(后两者其一不为空即可进行修改,两者不为空,两者都作修改)。
+ Q, G2 y. ?( U3 f+ x输出为新的编码所定义的字幕和字库图片定义文件。
4 y, k/ n9 U& o `! [6 {! X* l7 E3 Q
5.在游戏原来的对应位置覆盖原装版本(注意把原来的做好备份,没备份又崩了就重装吧~)
/ ]& @8 y& _5 G: a q m
3 i: s, g( a' D( L所制作的工具都是使用VS2005,C#。可能有错误,有兴趣的话欢迎联系本人交流。) Y7 t% Y- b( e$ _( g' M. d2 b
不过也不是什么通用工具,没什么现实意义。XD |