gpt4 book ai didi

c++ - SDL_FillRect 不绘图?

转载 作者:行者123 更新时间:2023-11-28 02:53:46 25 4
gpt4 key购买 nike

我正在使用 C++ 使用 SDL 制作游戏,我想使用 SDL_FillRect() 渲染粒子。我已经玩了几个小时的代码,但无论我做什么,粒子都没有绘制。这是我的 Render 函数中的代码(我确定我实际上是在调用该函数):

void Particle::Render()
{
SDL_Rect rect;
rect.x = x;
rect.y = y;
//rect.w = Particle::Particle_Size;
//rect.h = Particle::Particle_Size;
rect.w = 8;
rect.h = 8;
surface = SDL_CreateRGBSurface(SDL_SWSURFACE,8,8,32,0,0,0,0);
if(SDL_FillRect(surface,&rect,SDL_MapRGB(surface->format,0,0,0)) != 0) printf("Error");
//SDL_RenderCopy(renderer,texture,NULL,&rect);
}

控制台未打印“错误”,因此 SDL_FillRect() 成功。但是,没有矩形被绘制到屏幕上。我尝试使用传入该表面的 SDL_CreateTextureFromSurface() 创建纹理,然后使用 SDL_RenderCopy,它在上面的函数中被注释掉了,但它在我注释掉它之前就起作用了。我想使用 SDL_FillRect,这样我就可以拥有彩色纹理。

我错过了什么吗?

最佳答案

我想你可以使用这个函数来做你正在寻找的事情:

   SDL_RenderFillRect()

https://wiki.libsdl.org/SDL_RenderFillRect

您必须先设置渲染器颜色:

   SDL_SetRenderDrawColor();

我认为您还可以更新窗口表面以获得您必须工作的内容。那将使用

   SDL_UpdateWindowSurface().

https://wiki.libsdl.org/SDL_UpdateWindowSurface?highlight=%28%5CbCategoryVideo%5Cb%29%7C%28CategoryEnum%29%7C%28CategoryStruct%29

希望对您有所帮助!

关于c++ - SDL_FillRect 不绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22466405/

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