程設大作業小火車第一版本是命令行界面,第二版本是圖形化界面,由於egg庫對以后工程開發沒有用,我不想用egg庫,花了很長時間瀏覽了一下OpenGL的中文教程,覺得好復雜,需要看很多很多才能寫出個簡單的圖形化,於是我找了一個框架,SDL(Simple DirectMedia Layer),簡單好用,對付我的大作業應該沒問題了。
SDL安裝
我的環境:Windows 10 >> Visual Studio 2015 community
下載 development libraries
在這個頁面 http://libsdl.org/download-2.0.php 下載

解壓zip后,在C盤新建一個SDL目錄,把lib和include兩個文件夾復制過去。
新建工程
-
選擇win32 project

-
選擇empty project

-
修改工程設置

-
如圖設置

-
選擇c盤SDL目錄的include文件夾

-
同樣地設置Liabrary Dictories,選擇SDL文件夾的lib文件夾的x86(因為我們的工程是win32工程)。

-
為了編譯SDL代碼,還要在配置一下對庫的鏈接


-
再在Linker下的system設置一下SubSystem

-
我們的系統運行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; }
