SDL2 无法正确绘制矩形
SDL2 Wont draw Rectangles Correctly
我正在创建一个窗口并绘制一个框,但由于某种原因,屏幕只是更改为该颜色,而不是绘制一个框。我附上了一张窗口外观的照片,我将附上源代码。
#include <iostream>
#include <SDL.h>
#undef main
using namespace std;
int SCREEN_WIDTH = 650;
int SCREEN_HEIGHT = 650;
int main() {
if (SDL_Init(SDL_INIT_VIDEO) != 0) {
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 1;
}
SDL_Window *window = SDL_CreateWindow("Cells", 100, 100, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
if (window == nullptr) {
std::cout << "SDL_CreateWindow Error: " << SDL_GetError() << std::endl;
SDL_Quit();
return 1;
}
SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (renderer == nullptr) {
std::cout << "SDL_CreateRenderer Error: " << SDL_GetError() << std::endl;
SDL_DestroyWindow(window);
SDL_Quit();
return 1;
}
SDL_Event event;
bool quit = false;
while (!quit) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
quit = true;
}
}
SDL_RenderClear(renderer);
// renderTextures
SDL_Rect fillRect = { 122, 122, 122, 122};
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
SDL_RenderFillRect(renderer, &fillRect);
SDL_RenderPresent(renderer);
}
return 0;
}
绘制不正确
SDL_RenderClear使用您修改的当前绘制颜色,因此您的透明和矩形颜色是相同的。设置不同的清晰颜色(您想要的背景颜色,没有绘制其他颜色(,例如
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer);
// now draw your rectangles with different col
相关文章:
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 绘制顺时针三角形,重新排序点
- 如何使用 sdl2 快速绘制像素网格?
- SDL2 无法正确绘制矩形
- 如何在SDL2窗口上使用Cairo绘制一条白色直线
- 为什么我不能在SDL2中绘制纹理
- 用SDL2绘制圆圈
- SDL2 绘制和填充形状
- 无法用SDL2 GFX绘制一个填充的圆圈
- 如何在 SDL2 中的不透明矩形之上绘制透明或半透明矩形
- 为什么我无法在SDL2中绘制纹理
- OpenGL不绘制到SDL2窗口
- 使用OpenGL ES 2.0的SDL2 -不能在iOS上绘制简单的三角形
- SDL2不使用纹理绘制图像