【SDL】---窗口顯示

學習SDL,看官方的例子很多,網上其他的人例子總有一點殘缺,學習成本較高,比如顯示窗口就單純的顯示窗口,如果你把消息循環也放進去,理解起來程序並不複雜,而且瞬間就提高了一個檔次。

#include "SDL.h"
#include <iostream>

#pragma comment(lib, "./SDL2.0.4/lib/x86/SDL2.lib")

int _tmain(int argc, _TCHAR* argv[])
{
    SDL_Window  *pWindow = nullptr;
    SDL_Renderer*pRenderer = nullptr;

    if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
    {
        std::cout << "SDL initialize fail: " << SDL_GetError() << std::endl;
        return -1;
    }
    pWindow = SDL_CreateWindow("SDL", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
        640, 480,
        SDL_WINDOW_SHOWN);
    if (NULL == pWindow)
    {
        std::cout << "Create window fail : " << SDL_GetError() << std::endl;
    }
    pRenderer = SDL_CreateRenderer(pWindow, -1, 0);

    SDL_SetRenderDrawColor(pRenderer, 0, 0xaa, 0xaa, 0xaa);
    SDL_RenderClear(pRenderer);
    SDL_RenderPresent(pRenderer);

    //消息循環
    SDL_Event sldEvent;
    bool bQuit = false;
    while (!bQuit)
    {
        while (SDL_PollEvent(&sldEvent))
        {
            switch (sldEvent.type)
            {
            case SDL_QUIT:
                bQuit = true;
                break;
            }
        }
    }
    return 0;
}

SDL不但做了視頻渲染,還添加了事件循環,不錯。

本例子基於 SDL2.0.4 + VS2013
git源碼下載:https://github.com/Qyee/SDL-window

發佈了114 篇原創文章 · 獲贊 52 · 訪問量 60萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章