博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言+SDL2 图形化编程
阅读量:6239 次
发布时间:2019-06-22

本文共 1485 字,大约阅读时间需要 4 分钟。

程设大作业小火车第一版本是命令行界面,第二版本是图形化界面,由于egg库对以后工程开发没有用,我不想用egg库,花了很长时间浏览了一下OpenGL的中文教程,觉得好复杂,需要看很多很多才能写出个简单的图形化,于是我找了一个框架,SDL(Simple DirectMedia Layer),简单好用,对付我的大作业应该没问题了。

SDL安装

我的环境:Windows 10 >> Visual Studio 2015 community

下载 development libraries

在这个页面 下载

 

解压zip后,在C盘新建一个SDL目录,把lib和include两个文件夹复制过去。

新建工程

  1. 选择win32 project

      

  2. 选择empty project

     

  3. 修改工程设置

     

  4. 如图设置

  5. 选择c盘SDL目录的include文件夹

  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 
#include
//屏幕的宽高常量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;}

 

转载地址:http://gvdia.baihongyu.com/

你可能感兴趣的文章
Windows动态库学习心得
查看>>
在VMware虚拟机上安装Ubuntu 10.04
查看>>
LDA主题模型简介
查看>>
可拖动的DIV续
查看>>
关于“类型初始值设定项引发异常”
查看>>
MySql 小表驱动大表
查看>>
Redis 数据结构的底层实现 (一) RealObject,embstr,sds,ziplist,quicklist
查看>>
SQL语句注入的问题
查看>>
jQueryEasyUI Messager基本使用
查看>>
【C语言学习趣事】_33_关于C语言和C++语言中的取余数(求模)的计算_有符号和无符号数的相互转换问题...
查看>>
Tensorboard教程:显示计算图中节点信息
查看>>
java 线程基本概念 可见性 同步
查看>>
Java:JUnit包
查看>>
unity_快捷键
查看>>
洛谷P3358 最长k可重区间集问题(费用流)
查看>>
洛谷P1251 餐巾计划问题(费用流)
查看>>
Beta冲刺(2/5)(麻瓜制造者)
查看>>
vs2012编码的UI测试使用教程
查看>>
android 在非UI线程更新UI仍然成功原因深入剖析
查看>>
清北NOIP训练营集训笔记——图论
查看>>