将文本输出到窗口控制台.c++

Output text to a window console. C++

本文关键字:控制台 c++ 窗口 文本 输出      更新时间:2023-10-16

现在我正在创造一款基本的游戏。

它有一个背景和一个玩家角色(都是bmp的),它正在使用wc成功地输出到窗口控制台。显示函数调用

我很好奇在窗口控制台显示文本的方法,如生命值、分数或玩家还剩下多少命,如吃豆人、Pong等。就像游戏窗口上的精灵一样,我该如何处理文本?

我知道计数的方法,但我不认为这是相同的方法,用于显示文本到游戏屏幕。

假设你实际上不是指控制台,因为你已经知道如何制作精灵,但不知道文本:

RECT where; // populate this
HGDIOBJ OldFont;
BeginPaint(hWnd, &hDC);
OldFont = SelectObject(hDC, yourfont);
DrawText(hDC, "text", 4, &where, 0);
SelectObject(hDC, OldFont);
EndPaint(hWnd, &hDC);

面向屏幕的文本输入/输出不包含在标准库的功能中。

这是非常依赖系统的。

但是,您可以使用相当可移植的库,例如ncurses


旧的文本终端支持转义序列用于光标定位等,并且这些在某一点上是标准化的,“ANSI转义序列”

在Unix-land和Windows 10及以后的版本中,你可以使用它们,但这并不包括单个字符(未缓冲的)输入。

所以无论如何你都需要护士之类的东西。


对于Windows,您可能应该考虑通过Windows API函数基于wchar_t的直接控制台i/o,以便能够输出非ascii字符。

我的头文件中添加了一个特定的函数,它允许我将文本输出到屏幕上。直到我去找它,我才知道它的存在。谢谢大家的帮助。