在图片字库上添加完中文字符以后,我们就要在文件的末尾添加图片字库定义分析 。
" W& l+ P3 }9 y1 T由于添加的中文字符较多,所以需要增加一个新的节。
' X5 V+ Z8 }7 N& O* |4 H5 v. t1 G* O1 ~: H; E( i- N( S) g! w- X+ ^
zhang336970 的原话是这样的
! M0 [# g3 U7 q }2 i9 y编码表在执行文件中。在原来的节中没有多余位置,只好添加了一个新节,把新编码表放在这个新节中,并修改了相应的偏移地址。
& g: q' W' }; Z4 X! M0 _
. }- G1 u i% d4 H7 I6 Z) a对执行文件添加新节的方法,大家可以到看雪学院去学习一下,在网上google一下也可以找到不少资料。 0 N; g# U+ p5 W9 u+ l
$ p1 ^. v: `/ Q1 T( w6 G
以下是修改前文件末尾的样子,大家可以看到文件到00867FFE这个虚拟地址就结束了。 " D4 n* L& Y& L" v
2 {# U: E1 Z2 D( [3 Y以下是修改后文件末尾的样子,在00867FFE后面加了一个新的节。 7 U' e' ?; O3 K* ]7 @6 c
2 t l0 V& u: h- U- Q# G6 V& {1 B, h其中每个中文字符用20个字节来定义。 * y6 k( I6 K! y5 y, _
例如: 对“%”(25H)这个字符的解释就用了20字节的空间。其中25 00 00 00 是编码,紧随后面的16字节是%字符在图片1中的坐标。也就是说要显示%,就要取图片上从起点(22H,0H)到终点(33H,14H)(像素点)的矩形区域送去显示。7 O' O/ Y; f: W4 g2 o4 U
- R; M- M" z: D# a4 M' r# t9 h以下问题请zhang336970朋友指教,谢谢!
# U" {9 E0 V- b0 e$ N: I% _& |
, @4 l$ ^+ s8 W8 X. C1 c问题1
@) r/ p: p) S1 R) `原来的游戏应该有英文字符和符号等的定义。这些定义在哪,如何寻找呢?
$ i# r" {3 `3 y+ k }% e问题2
% M/ |8 H" k( J# k游戏读取这些定义的地方在哪,如何寻找呢?: g& e% S( v& {% l/ ]9 j0 o
请谈谈通用的思路。 |