最近在研究Buratillo这个游戏时,看了一下SDL_ttf这个开源库的相关资料。
! w. F5 Q0 E. O0 w9 M9 ~ |! V发现很多字符串输出函数,如下所列。& i. \& Y& l; ? c* [1 `
; C5 E. S( T$ @! p4 C
Solid 9 @9 ]/ J+ o( L* x" s+ t0 Q& P
TTF_RenderText_Solid - Draw LATIN1 text in solid mode
& o' V% a1 G7 _& b1 q9 H7 lTTF_RenderUTF8_Solid - Draw UTF8 text in solid mode
1 S5 `+ D6 I: K. A/ g* iTTF_RenderUNICODE_Solid - Draw UNICODE text in solid mode
$ s" } T& f6 {" K: XTTF_RenderGlyph_Solid - Draw a UNICODE glyph in solid mode 5 M) f, g6 Y3 d/ Z/ X, Z
p3 o8 H% F7 m5 K7 n
Shaded 5 M/ N* _2 f" h& v1 I
TTF_RenderText_Shaded - Draw LATIN1 text in shaded mode : s# W$ t4 h+ J
TTF_RenderUTF8_Shaded - Draw UTF8 text in shaded mode
. ~; U" I3 Q* _% X! B0 uTTF_RenderUNICODE_Shaded - Draw UNICODE text in shaded mode ( g$ u8 |7 X Y: l2 C
TTF_RenderGlyph_Shaded - Draw a UNICODE glyph in shaded mode
/ O+ P+ C) O! I7 P% E5 r/ O3 b# W, D3 t$ h- ^* V, R+ G
Blended , @ ]' T6 X3 z* @! d* x
TTF_RenderText_Blended - Draw LATIN1 text in blended mode
0 S1 P3 C+ H+ V' O4 qTTF_RenderUTF8_Blended - Draw UTF8 text in blended mode
7 S( d9 S, v2 a6 M1 A& {- qTTF_RenderUNICODE_Blended - Draw UNICODE text in blended mode
; t) I X! h1 U# w7 J Y+ e2 s& x, ?4 fTTF_RenderGlyph_Blended - Draw a UNICODE glyph in blended mode
* s1 P7 w2 V! J& B3 }1 H0 X0 C- _8 J! g, K
具体资料可以参考这里! r' {/ z& E: B9 k5 ]0 l8 @. s! v. g
http://sdl.beuc.net/sdl.wiki/SDL_ttf_Functions_Render
2 f4 r& g9 L6 G1 i& o9 G
% h& r8 h1 ^5 t9 z5 k5 Z% C这些函数的参数基本都是相同的,都会传入一个字符串。3 [5 O0 F0 V7 t* C& X/ E
比如这个
8 R' r& @, v* \; B: \( V) l+ NSDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg);8 O% i6 d) v8 o7 M& l n
* ^& ?1 C7 [4 Y- A4 M& b" I
由于这个库是开源的,我们只要找到相同版本的库,修改游戏所使用的那个函数的代码,
/ ^, g1 [1 n' D5 ?2 O把英文字符串替换为中文的,应该就可以实现汉化了。 |