最近在研究Buratillo这个游戏时,看了一下SDL_ttf这个开源库的相关资料。
3 h. `. }9 i/ Q# ?3 T7 d+ Q发现很多字符串输出函数,如下所列。- M- h% j2 B; j+ `
& I1 e3 d" J! V. _& Y( X
Solid
$ m% e" m- d9 y5 s' QTTF_RenderText_Solid - Draw LATIN1 text in solid mode
+ h/ [& _: c$ G5 {TTF_RenderUTF8_Solid - Draw UTF8 text in solid mode 0 Q; b4 |( l! ? B& J9 C
TTF_RenderUNICODE_Solid - Draw UNICODE text in solid mode + p& Y7 I* L2 J( O3 d+ Q7 P
TTF_RenderGlyph_Solid - Draw a UNICODE glyph in solid mode & N1 P) D; a5 J# j+ A: ~' O
. ~8 @: k7 I, [4 G. {) `
Shaded # ? y: `/ R1 p3 ?; ^# \
TTF_RenderText_Shaded - Draw LATIN1 text in shaded mode
/ Q2 p, P4 F, r jTTF_RenderUTF8_Shaded - Draw UTF8 text in shaded mode ) G* b5 c' j7 b' X, s8 K
TTF_RenderUNICODE_Shaded - Draw UNICODE text in shaded mode : G! x$ d( s* l7 x$ n2 O6 T
TTF_RenderGlyph_Shaded - Draw a UNICODE glyph in shaded mode ) }' O+ Y+ z# `5 [& |6 ?- U
' ?3 d- d; K/ n" `1 |/ Y
Blended 8 u& a9 \+ O+ Y% j( P5 ^; b) z( L
TTF_RenderText_Blended - Draw LATIN1 text in blended mode
0 B$ I- E5 j. N- P6 eTTF_RenderUTF8_Blended - Draw UTF8 text in blended mode
' U/ I, v( m# f7 G! S* UTTF_RenderUNICODE_Blended - Draw UNICODE text in blended mode " [0 F2 c4 e- i+ R+ n
TTF_RenderGlyph_Blended - Draw a UNICODE glyph in blended mode * n* ?1 \9 U0 E+ K7 U+ Y7 v7 n
' ^+ r3 a6 {. P" t/ j具体资料可以参考这里$ ^% M7 P3 Y+ R
http://sdl.beuc.net/sdl.wiki/SDL_ttf_Functions_Render
+ C3 [4 J ~8 s& E4 g d" n. {
& ]) I6 ]5 j! e3 o, p6 i9 X2 I这些函数的参数基本都是相同的,都会传入一个字符串。
5 Z' `. h8 s$ G" J) ]& |9 } n比如这个3 M n( j/ _& J- w3 f2 G: ^% X* i
SDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg);
/ m, ?- v# T# R6 q- {; l4 u. S
5 f+ {, Y8 L3 j o1 ]/ {由于这个库是开源的,我们只要找到相同版本的库,修改游戏所使用的那个函数的代码,0 B/ N- J; b5 y
把英文字符串替换为中文的,应该就可以实现汉化了。 |