//初始化SDL2和创建一个窗口,并且将屏幕绘制成大红色
#include <iostream>
extern "C"
{
#include <SDL.h>
} int main(int argc, char* argv[])
{
//窗口
SDL_Window *windowScreen = NULL;
//窗口表面
SDL_Surface *windowSurface = NULL; //初始化SDL2
if (SDL_Init(SDL_INIT_VIDEO) == -1)
{
std::cout << SDL_GetError() << std::endl;
return -1;
} /* 创建窗口
*第一个参数是窗口的标题
*第二、三个参数指明了窗口的位置信息
*第四、五个参数是窗口的大小(长、宽)
*第六个参数是窗口的状态
*SDL_WINDOW_SHOWN--显示窗口
*SDL_WINDOW_BORDERLESS--显示无边框窗口
*/
windowScreen = SDL_CreateWindow("title", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 240, 400, SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS);
if (!windowScreen)
{
std::cout << SDL_GetError() << std::endl;
return -1;
} // 获取窗口的表面
windowSurface = SDL_GetWindowSurface(windowScreen);
if (!windowSurface)
{
std::cout << SDL_GetError() << std::endl;
return -1;
} /*填充窗口
*第一个参数是填充的目标表面
*第二个是填充的矩形区域(NULL则表示默认全部填充)
*第三个参数是填充矩形用的颜色
*/
SDL_FillRect(windowSurface, NULL, SDL_MapRGB(windowSurface->format, 0xFF, 0x00, 0x00)); //将窗口表面加载到窗口
SDL_UpdateWindowSurface(windowScreen);
//暂停窗口
SDL_Delay(2000); SDL_FreeSurface(windowSurface);
SDL_DestroyWindow(windowScreen);
SDL_Quit();
return 0;
} /*配置
1.VC++目录 include lib dll
2.链接器->输入->附加依赖项 SDL2.lib SDL2main.lib
3.链接器->系统->子系统 窗口 (/SUBSYSTEM:WINDOWS) 控制台 (/SUBSYSTEM:CONSOLE)
4.C++->代码生成->运行库 /MD
编译
cl /MD /c c.cpp
链接
link /SUBSYSTEM:CONSOLE c.obj SDL2.lib SDL2main.lib
*/

最新文章

  1. json显示日期带T问题的解决方法
  2. d3 中exit() remove()正确工作的方式
  3. JavaScript 五种(构造方式)继承
  4. windows下cmd操作
  5. 使用jQuery开发一个带有密码强度检验的超酷注册页面
  6. [转]c++面向对象基础
  7. [转]python -m SimpleHTTPServer
  8. Spring MVC 中的 forward 和 redirect
  9. Criteria 和 DetachedCriteria的区别与使用(转)
  10. Asp.Net MVC5入门学习
  11. java8大基本数据类型
  12. java如何对List集合中的元素进行排序(请收藏)
  13. C++中返回值
  14. node启动服务报错Node.js Error: Cannot find module express
  15. Cacti Install Error
  16. MyCat - 背景篇(1)
  17. 关于Win8快速启动失效解决
  18. 实现body背景拉伸自适应 兼容chrome ie7,8,9.ie6未测试
  19. c# js日期工具
  20. java 流 文件 IO

热门文章

  1. ScheduledThreadPoolExecutor中定时周期任务的实现源码分析
  2. Ceph 文件系统 CephFS 的实战配置,等你来学习 -- &lt;4&gt;
  3. 深入浅出 JVM 系列(一)什么是 JVM?它处于什么位置?
  4. jdk1.7扩容时,不论是否有链表,并发都可能出现循环链表
  5. PHP实现取得HTTP请求的原文【转】
  6. 第7节class与style绑定
  7. 浏览器应用集成嵌入WPS指南
  8. JMeter——分布式压测
  9. 今天我的jupyter notebook打不开了,报错原因&#39;No module named &#39;zmq.eventloop&#39;
  10. 安装Jupyter Notebook