一个基于D3D9和ID3DXFont的命令行,主要用于游戏开发中在屏幕上打印Log,或者绑定脚本系统作为输入和显示界面。
1. 支持打印log
2. 向上或向下滚动输出(显示)文字
3. 多颜色文字输出(显示)
4. 命令行排版,支持居左居中居右
5. 设置输出行数
6. 支持背景
7. 有输入接口支持输入,响应回车和Tab事件,主要用于作为脚本执行的入口,Tab可用于关键字联想
8. 支持粘贴操作Ctrl+V
9. 除滚动输出以外,还有一个管理器可输出浮动文字并可设置位置
10.可通过宏开关
我不想把一个Console做得太巨型需要依赖很多库,所以遗留了两个问题
已知问题:
1. 不支持鼠标选中光标,由于鼠标操作和相应都需要大量操作同时需要文字系统支持(如准确获得文字大小)
2. 输入多个较窄文字导致光标错位,这是由于紧凑排版的问题,一个“1”字的宽度和多个“111”是不一样的,我不想把东西搞得太复杂所以没有引入文字系统库去做文字宽度获取,详细可参见DXUT。