问题标签 [sdl-ttf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
298 浏览

c++ - SDL2 程序 SIGSEGV 启动

我在 SDL 中编写了 Snake,现在想将它移植到 Android,这意味着我必须重写它的一部分以使用 SDL2。我更换了关键控制和渲染部分,它编译没有任何错误。但是,当我尝试运行它时,它会立即崩溃。我用调试器运行它,但它没有提供任何有用的信息:

我在代码的第一行设置了一个断点,它甚至在崩溃之前都没有达到。我也在使用 SDL_image 和 SDL_ttf。

源代码: http ://www.mediafire.com/?n0zdd061d343w35

0 投票
1 回答
1922 浏览

c++ - 使用 SDL TTF for SDL 2 看不到我的文本

我想我做得很好,但无论如何我没有看到我的文字。官方文档很差(或 SDL 2 已过时)。

在主循环中:

0 投票
2 回答
1014 浏览

c++ - SDL_TTF 画垃圾

前几天我问了一个关于使用 SDL 渲染 TTF 字体的问题,并被指向 SDL_TTFL 我尝试使用 SDL_TTF 库,但我得到的只是屏幕上的垃圾

我已经包含了我的着色器,这对于这个程序来说非常简单,还有我用来将文本加载到表面并将其绑定到纹理的剪辑。我根本不想在这里做任何疯狂的事情。你能看到我做错了什么吗?我不太确定如何调试着色器等。

片段着色器(frag.glsl):

顶点着色器 (vert.glsl)

字体加载 (loadFont.cpp)

顶点属性设置

根据下面的评论,我已附加了用于顶点属性的代码。

编辑:在此后已被删除的回复中,有人询问 SDL_TTF 是返回 3 个还是 4 个频道。它正在返回 BGRA 图像。我尝试将片段着色器更改为

片段着色器

注意 vec4,并使用 rgba 而不是 rgb。这只会导致一个黑色矩形。我还尝试使用 SDL_LoadBMP() 生成表面,它给出了完全相同的结果。

0 投票
1 回答
3946 浏览

c++ - 在 C++ 中链接 SDL_ttf 库

我在将 SDL_ttf 库与 C++ 编译器链接时遇到问题。我尝试了三个不同的程序,但我无法解决其中任何一个问题。我尝试过 Dev C++、Eclipse 和 CodeBlocks。在所有这些中,它出现了一个不同的错误,但都与找不到 -lSDL_ttf 或无法识别该库的功能有关。我正在关注本教程http://lazyfoo.net/SDL_tutorials/并完成了我在互联网上找到的一切。我将 /include/SDL/ 目录中的 .h 文件、项目目录中的 .dll 文件以及 /lib 目录中的文件复制到我正在使用的 /lib 目录中。我认为错误可能在这里,例如 SDL_image 有“.lib”文件,而在 ttf 中没有这样的文件。它们都是“.a”或“.la”。我是 C++ 新手,所以我不知道我是否做错了什么。感谢任何人的帮助。

代码块中的错误如下:

ld.exe 找不到 -lSDL_ttf

0 投票
0 回答
164 浏览

c - SDL_ttf 表面与 OpenGL 纹理通道不匹配

我试图在我的游戏中从 SDL_ttf 表面制作 OpenGL 纹理以获得分数 GUI:

但它看起来像红色和 alpha 通道不匹配: 截屏

我试图使用 GL_BGRA 和 GL_ABGR_EXT 而不是 GL_RGBA,但它只会得到另一个通道不匹配。

0 投票
1 回答
128 浏览

c++ - 我正在使用 SDL,这个函数会导致我的程序使用我的所有内存

我是 C++ 的初学者,这个函数导致我的程序的内存不断增加。

它在一个while循环中被调用,它永远不会停止。

它以线性方式上升,直到没有更多的内存。

0 投票
0 回答
241 浏览

c++ - 我得到了这个使我的程序崩溃的功能

我正在尝试制作一个文本框,所以我制作了此功能以在屏幕上显示文本,

我有一个 fps 调节器,所以该函数每秒调用 33 次。

我有一台旧电脑(64 mb video ram 和 1 ram + Pentium 4 CPU 2.8GHz)

当我从我的代码中删除这个函数时,它永远不会冻结,为什么?

MESSAGE (SDL_Surface *MESSAGE = NULL;) 在包含行下的代码顶部声明。(屏幕也是)

0 投票
1 回答
369 浏览

c++ - SDL_ttf 和 OpenGL 正在输出看似随机的垃圾和崩溃

我正在尝试编写一个基本程序来使用 SDL_ttf 在 OpenGL 中呈现文本。我已经看到了十几个关于如何让两者协同工作的问题,几乎所有这些问题都提供了与我正在使用的代码相似的代码。但是,我没有看到任何与我正在经历的波动有关的问题。

这很奇怪。如果我使用特定字体、特定点大小和特定输出字符串,则程序可以完美运行并输出。在其他情况下,程序将运行,但文本表面显示为垃圾。在其他情况下,程序会立即崩溃。

例如,如果我调用 TTF_OpenFont( "font1.ttf" , 28 ),然后使用 "Testing" 作为输出字符串调用 TTF_RenderUTF8_Blended(),它会崩溃。但是我尝试了很多东西,得到了非常令人不安的结果。

- 如果我删除“g”并尝试输出“Testin”,那么程序将按预期工作并输出。o_o

- 如果我尝试输出“测试”,我会得到垃圾。

- 如果我尝试输出“Tst”,程序可以工作。o_O

- 如果我尝试输出“tst”,程序就会崩溃。

此外,当我尝试不同的字体和磅值时,我会因为不同的字符串而出现垃圾或崩溃。

SDL_ttf 函数的所有错误检查都恢复正常。

换句话说,据我所知,唯一决定程序是否工作的因素是我传递给 SDL_ttf 函数的字符串。我完全不知道为什么会这样(字体目录绝对准确)。我只能假设我忽略了某种明显的内存泄漏或其他东西。

话虽如此,这是我的初始化代码:

我的渲染代码:

和我的清理工作:

我将尽我所能提供尽可能多的额外细节。

0 投票
2 回答
3272 浏览

c++ - TTF_OpenFont 返回 NULL

TTF_OpenFont() 返回 NULL

我有同样的问题,TTF_OpenFont 返回 NULL 并出现错误。

我得到“无法加载字体文件

  • .ttf chmod是 777
  • 我尝试用root运行程序

我没有主意了。

0 投票
1 回答
620 浏览

python - 使用 pysdl2 Python 绑定调用 sdlttf.TTF_OpenFont() 时出现类型错误

我已正确安装所有依赖项(SDL2、SDL2_TTF、pysdl2)。我尝试只提供字体的文件名,并尝试对完整路径进行硬编码。字体与 python 文件位于同一目录中。

回报: