【发布时间】:2019-10-09 17:08:48
【问题描述】:
我看到的只有 RenderDrawColor。
“circle.png”也在正确的文件夹中(main.cpp 所在的位置)。
#include <SDL.h>
#include <SDL_Image.h>
int main(int argc,char* args[]) {
SDL_Init(SDL_INIT_EVERYTHING);
IMG_Init(IMG_INIT_PNG);
SDL_Window* window = SDL_CreateWindow("_", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
SDL_Renderer* render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
SDL_SetRenderDrawColor(render,0, 255, 255, 255);
SDL_Surface* img = IMG_Load("circle.png");
SDL_Texture* texture = SDL_CreateTextureFromSurface(render, img);
SDL_FreeSurface(img);
SDL_Event event;
while (1) {
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT:
return 0;
}
}
SDL_RenderClear(render);
SDL_RenderCopy(render, texture, NULL, NULL);
SDL_RenderPresent(render);
}
system("PAUSE");
return 0;
}
【问题讨论】:
-
您已经验证(使用调试器/
printf()/等)img&texture不为 NULL? -
int img_flag = IMG_INIT_PNG; if (!(IMG_Init(img_flag) & img_flag)) { std::cout << "error"; };输出错误。
标签: c++ visual-c++ sdl-2 sdl-image