gpt4 book ai didi

c++ - 将文本绘制到屏幕

转载 作者:行者123 更新时间:2023-11-28 05:46:00 27 4
gpt4 key购买 nike

所以我只想指出,我对在引擎外部编写代码还很陌生,所以这对我来说有些陌生。

我正在使用 SDL 作为我的游戏的基础,并且想知道一种在屏幕上以分数/时间的形式绘制文本的简单方法。

到目前为止,在搜索时我还没有找到任何我真正理解或如何使用的东西。在使用标签 SDL 进行搜索时,我发现最多的是 SDL_ttf,我尝试研究它但没有成功。

再一次,我正在寻找一种简单的方法来以分数/时间的形式显示文本、字符串和 float /整数。

最佳答案

单独的库 SDL 不支持将文本写入屏幕。您的搜索指向 SDL_ttf , 这是正确的库。

使用示例(只有额外的代码,假设您已经调用了 SDL_Init,创建了 SDL_Window 并且您有该窗口的 SDL_Renderer* 渲染器

const SDL_Rect* dstrect;
SDL_Color color;

TTF_Init();
TTF_Font* font = TTF_OpenFont("font.ttf" /*path*/, 15 /*size*/);
SDL_Surface* textSurface = TTF_RenderText_Blended(font, "Text to render", color);

SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface);
SDL_RenderCopy(renderer, textTexture, NULL, dstrect);

SDL_FreeSurface(textSurface);
SDL_DestroyTexture(textTexture);
TTF_CloseFont(font);
TTF_Quit();

查看其他 TTF_RenderText_* 方法的文档以及它们的不同之处。

并且由于您使用的是 C++(SDL 和 SDL_ttf 都在 C 中),您可能想围绕 TTF 渲染编写一些包装器。

关于c++ - 将文本绘制到屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com