请帮我做一个SDL2/SDL.h的函数相关的C++程序
时间: 2024-04-14 14:29:17 浏览: 127
SDL2-2.28.5.tar.gz
当然,以下是一个使用SDL2库的简单C++程序示例,用于创建一个窗口并显示一个红色的矩形:
```cpp
#include <SDL2/SDL.h>
int main() {
// 初始化SDL
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法初始化SDL: %s", SDL_GetError());
return 1;
}
// 创建窗口
SDL_Window* window = SDL_CreateWindow("SDL2 程序示例", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN);
if (!window) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法创建窗口: %s", SDL_GetError());
return 1;
}
// 创建渲染器
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0);
if (!renderer) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "无法创建渲染器: %s", SDL_GetError());
return 1;
}
// 设置绘制颜色为红色
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
// 清空渲染器
SDL_RenderClear(renderer);
// 创建矩形
SDL_Rect rect = { 100, 100, 200, 200 };
// 绘制矩形
SDL_RenderFillRect(renderer, &rect);
// 刷新渲染器
SDL_RenderPresent(renderer);
// 主循环
bool quit = false;
SDL_Event event;
while (!quit) {
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
quit = true;
}
}
}
// 清理资源
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
```
请确保已经安装了SDL2库,并在编译时链接SDL2库。这个程序将创建一个窗口并显示一个红色的矩形,直到用户关闭窗口为止。希望这个示例能帮到你!
阅读全文