C語言+SDL2 圖形化編程

程設大做業小火車初版本是命令行界面,第二版本是圖形化界面,因爲egg庫對之後工程開發沒有用,我不想用egg庫,花了很長時間瀏覽了一下OpenGL的中文教程,以爲好複雜,須要看不少不少才能寫出個簡單的圖形化,因而我找了一個框架,SDL(Simple DirectMedia Layer),簡單好用,對付個人大做業應該沒問題了。php

SDL安裝

個人環境:Windows 10 >> Visual Studio 2015 community框架

下載 development libraries

在這個頁面 http://libsdl.org/download-2.0.php 下載ui

 

解壓zip後,在C盤新建一個SDL目錄,把lib和include兩個文件夾複製過去。spa

新建工程

  1. 選擇win32 project命令行

      

  2. 選擇empty project3d

     

  3. 修改工程設置code

     

  4. 如圖設置orm

  5. 選擇c盤SDL目錄的include文件夾blog

  6. 一樣地設置Liabrary Dictories,選擇SDL文件夾的lib文件夾的x86(由於咱們的工程是win32工程)。教程

  7. 爲了編譯SDL代碼,還要在配置一下對庫的連接

  8. 再在Linker下的system設置一下SubSystem

  9. 咱們的系統運行SDL 2的應用程序時,要可以找到dll文件,咱們從C盤的SDL的lib的x86中複製SDL2.dll,放在咱們工程的vcxproj文件所在的位置。

新建c文件

按ctrl+shift+A,選擇cpp文件,命名的地方改成.c後綴

複製如下代碼

 

#include <SDL.h>
#include <stdio.h>
 
//屏幕的寬高常量
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
 
int main(int argc, char* args[])
{
    //咱們要渲染的窗口
    SDL_Window* window = NULL;
 
    //窗口的表面
    SDL_Surface* screenSurface = NULL;
    //初始化SDL
    if (SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        exit(-1);
    }
 
    //建立窗口
  window = SDL_CreateWindow("MY FIRST SDL WINDOW", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
    if (NULL == window)
    {
        SDL_Quit();
        return -1;
    }
 
    //獲取窗口表面
    screenSurface = SDL_GetWindowSurface(window);
 
    //表面塗上白色
    SDL_FillRect(screenSurface, NULL, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF));
 
    //更新表面
    SDL_UpdateWindowSurface(window);
 
    //等待兩秒
    SDL_Delay(2000);
 
    //銷燬窗口
    SDL_DestroyWindow(window);
 
    //退出SDL子系統
    SDL_Quit();
    return 0;
}
相關文章
相關標籤/搜索