c++ - 使用位图的sdl c++键盘输入

标签 c++ sdl

我必须制作一个允许我编写的程序,我将在键盘上按下的所有字母都可以从位图图像中获取一个片段,该片段响应我按下的字母。我不能仅使用 SDL_ttf SDL_image使用 C++。

最佳答案

  1. 找到一个充满 ASCII 字形的漂亮位图,例如 this one .

  2. 使用 SDL_image 加载到 SDL_Surface。

  3. 在您的键盘处理循环中,当按下一个键时获取 ASCII 值。

  4. 使用 ASCII 值在要复制的位图中找到正确的 8x8 block 。

  5. 将 SDL_Blit 与适当的 src rect(来自第 4 步)和 dst x/y 一起使用 blit 到屏幕

  6. 将您的 dst x 值增加 8。如果它变得“太大”则换行,然后将您的 dst y 增加 8。

  7. BAM! 俗气的图形文本输入。处理退格键和/或回车符的奖励积分。

关于c++ - 使用位图的sdl c++键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621968/

相关文章:

c# - 从非常大的 HTML 文件中解析特定元素

c++ - 使用 Poco 迭代 json 结构

c++ - 中缀到后缀表达式转换代码不起作用

c++ - CMake错误-使用柯南

c++ - 在控制台上打印 vector

c++ - 为一个模板类提供多个模型以供选择

c++ - SDL 和 C++ : Waiting for multiple threads to finish

C++ Debian SDL 段错误

c - 边框/标题栏在 SDL OSX 中未正确显示

c++ - glDrawArrays 在 GL_TRIANGLES 模式下不绘制任何东西