程設大做業小火車初版本是命令行界面,第二版本是圖形化界面,因爲egg庫對之後工程開發沒有用,我不想用egg庫,花了很長時間瀏覽了一下OpenGL的中文教程,以爲好複雜,須要看不少不少才能寫出個簡單的圖形化,因而我找了一個框架,SDL(Simple DirectMedia Layer),簡單好用,對付個人大做業應該沒問題了。php
個人環境:Windows 10 >> Visual Studio 2015 community框架
在這個頁面 http://libsdl.org/download-2.0.php 下載ui
解壓zip後,在C盤新建一個SDL目錄,把lib和include兩個文件夾複製過去。spa
選擇win32 project命令行
選擇empty project3d
修改工程設置code
如圖設置orm
選擇c盤SDL目錄的include文件夾blog
一樣地設置Liabrary Dictories,選擇SDL文件夾的lib文件夾的x86(由於咱們的工程是win32工程)。教程
爲了編譯SDL代碼,還要在配置一下對庫的連接
再在Linker下的system設置一下SubSystem
咱們的系統運行SDL 2的應用程序時,要可以找到dll文件,咱們從C盤的SDL的lib的x86中複製SDL2.dll,放在咱們工程的vcxproj文件所在的位置。
按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; }