【问题标题】:SDL Window is transparentSDL 窗口是透明的
【发布时间】:2018-09-06 14:32:42
【问题描述】:

我正在学习 SDL,并尝试设置一个带有红色背景的窗口。 关注此code,但得到的结果与预期不同。

#include <stdio.h>
#include "SDL2/SDL.h"

int main(int argc, char const *argv[]) {

    if(SDL_Init(SDL_INIT_EVERYTHING) != 0) {
        SDL_Log(SDL_GetError());
        return -1;
    }

    SDL_Window* wnd = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 300, 300, SDL_WINDOW_OPENGL);
    SDL_Renderer* renderer = SDL_CreateRenderer(wnd, 0, SDL_RENDERER_ACCELERATED);

    SDL_SetRenderDrawColor(renderer, 255, 255, 255 , 255);
    SDL_RenderClear(renderer);
    SDL_RenderPresent(renderer);

    SDL_Delay(6000);

    SDL_Quit();
    return 0;
}

【问题讨论】:

  • SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);试试这个让它变红
  • 您正在创建一个用于 OpenGL 的窗口,但使用 SDL API 对其进行绘制...

标签: c sdl graphical-programming


【解决方案1】:

通过SDL_WaitEvent()/SDL_PollEvent()/SDL_PumpEvents() 循环而不是大的'ole 主线程阻塞SDL_Delay() 处理操作系统事件队列。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多