多条文本输出, 每条文本单次 Draw() 最后 Present() 【已完成】【附带源码】(只能处理 大写 英文字母)
注意: (只能处理 大写 英文字母)
如下图所示 为本程序的类间组织结构:
- 类EvlWin 是 对 windows 窗体创建显示的封装, 使用简易如:
// 创建窗体 EvlWin *eWin = new EvlWin( hInstance, prevInstance, cmdLine, cmdShow, NULL, NULL); // 显示窗体 eWin->show();
- 类 Dx11DemoBase 是对 DirectX11 的基本 device / context 创建的封装基类; 但具体效果表现需要由 子类实现:
// DirectX11 处理对象 Dx11DemoBase *System = new SystemClass(); // DirectX11 相关初始化 bool result = System->Initialize( hInstance, eWin->m_hwnd); if( result == false) return -1; //不使用 eWin 事件循环 //eWin->loopMessage(); System->MessageLoop(); // 释放资源 System->Shutdown(); delete System; System = 0;
- 文本显示在 System->MessageLoop() 消息循环内的 Render() 内调用 DrawString() 显示, 有两个文本:
- 类 SystemClass 是整个游戏系统 管理类, 之后将扩展有 输入子系统, 媒体子系统等; 当前包含 文本显示控制类 TextSystemClass , 分为两部分步骤, 第一是 更新 文本的vertexBuffer 信息, 第二是更新 文本对应的 文本贴图信息; 最后显示 文本到显示设备.