c++ - SDL2 SDL_GetRenderDrawColor 只能显示黑色
问题描述
我可以使用具有黑色背景的 SDL2 和 C++ 创建一个窗口,只要我将 SDL_GetRenderDrawColor 中的一个参数从 0 更改为其他任何值,我就会收到此错误:
错误(活动)E0167“int”类型的参数与“Uint8 *”类型的参数不兼容
这是我的代码:
#include <stdio.h>
#include <SDL.h>
#undef main
int main(int argc, char** argv[]) {
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window * window = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, 0);
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
bool quit = false;
while (!quit) {
SDL_Delay(10);
SDL_Event event;
SDL_PollEvent(&event);
switch (event.type) {
case SDL_QUIT: quit = true; break;
}
SDL_GetRenderDrawColor(renderer, 255, 0, 0, 0);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
我正在使用 Visual Studio 2019 社区,我已经在工作场所的 Visual Studio 中成功设置了 SDL2,但是在家里做同样的事情会产生这个错误。
解决方案
如果要设置渲染绘制颜色,则应使用SDL_SetRenderDrawColor
. SDL_GetRenderDrawColor
用于获取渲染绘制颜色。
推荐阅读
- c# - 在编译期间使用 MSBuild.exe 设置布尔变量
- python - 绘制 LSTM 会导致时间序列和逆标定器错误
- python - 使用 Python Selenium 抓取文本:无法找到真正存在的元素
- java - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/bouncycastle/cms/Recipient
- typescript - 拖放列后保存数据
- java - 使用 Java 反射的手动反序列化方法
- c# - 如何在列表中组合两种不同类型的评论?
- java - 在 Java GUI 应用程序中加载的地图占据整个屏幕
- python - PyQt5:为什么我的 QGraphicsVideoItem 播放后消失?是否可以在最后一帧暂停 QMediaPlayer?
- ms-access-2016 - 运行时错误“3078”:Microsoft Access 数据库引擎找不到输入表