2.5(?) Text and Fonts Using cFont(字)
。。。。。。。。。。。。。。。。。。。。。。。
class cFont { private: ID3DXFont *m_Font; // Font COM 对象 public:
cFont(); // 构造函数 ~cFont(); // 析构函数 ID3DXFont *GetFontCOM(); // 返回 font COM 对象 // 创建和释放font BOOL Create(cGraphics *Graphics, char *Name, / long Size = 16, BOOL Bold = FALSE, / BOOL Italic = FALSE, BOOL Underline = FALSE, / BOOL Strikeout = FALSE); BOOL Free(); // 开始和结束文字的绘制 BOOL Begin(); BOOL End(); //打印指定的文本 BOOL Print(char *Text, long XPos, long YPos, / long Width = 0, long Height = 0, / D3DCOLOR Color = 0xFFFFFFFF, DWORD Format = 0); }; |
要使用一个font,你必须用cFont::Create函数创建。你必须通过一个已经初始化过的cGraphics对象,给他一个字体名称(如Times New Roman,宋体),并指定尺寸。你可以用选择的使用加粗、斜体、下划线、striceout(这后两个DX9不用了)
(那个Begin,End也不用了);
想要打印一行文本,你需要给cFont::Print函数提供一个指向你文本的指针,在哪开始打印的坐标,盒子(bounding box)尺寸(默认为0,意味着整个屏幕),文本颜色(默认为白色,使用D3DCOLOR_RGBA来定义一个颜色),文本格式如表,(我就不翻译这个表了,很容易理解吧):(在上面)
一个简单的例子:
// 如果 g_Graphics是一个已经初始化过的cGraphics 对象 cFont ArialFont; ArialFont.Create(&g_Graphics, “Arial”); // Arial 字体 16号 ArialFont.Print(“I can print fonts!”, 0,0); // 在 0,0点开始打印 |