SDL编程

一、简介

SDL是一个用C编写的跨平台的多媒体库,它通过OpenGL和Direct3D,提供了针对音频、视频、键盘、鼠标、控制杆及3D硬件的低级别的访问接口。它在MPEG播放软件、模拟器以及许多游戏中得到广泛的应用,其中包含了获得大奖的“文明:权力的呼唤”的Linux 版本。

参考:

http://www.libsdl.org/

二、编译安装

参考:

http://toutiao.com/a4450957327/
wget http://www.libsdl.org/release/SDL2-2.0.3.tar.gz
tar -zxvf SDL2-2.0.3.tar.gz
cd SDL2-2.0.3
mkdir build
cd build
../configure
make
make install

三、使用实例

example1.c

//Toggle line numbers 
#include "SDL.h"

int main(int argc, char* argv[])
{
        SDL_Window* window;
        SDL_Renderer* renderer;

        // Initialize SDL.
        if (SDL_Init(SDL_INIT_VIDEO) < 0)
                return 1;

        // Create the window where we will draw.
        window = SDL_CreateWindow("SDL_RenderClear",
                        SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
                        512, 512,
                        0);

        // We must call SDL_CreateRenderer in order for draw calls to affect this window.
        renderer = SDL_CreateRenderer(window, -1, 0);

        // Select the color for drawing. It is set to red here.
        SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);

        // Clear the entire screen to our selected color.
        SDL_RenderClear(renderer);

        // Up until now everything was drawn behind the scenes.
        // This will show the new, red contents of the window.
        SDL_RenderPresent(renderer);

        // Give us time to see the window.
        SDL_Delay(5000);

        // Always be sure to clean up
        SDL_Quit();
        return 0;
}

编译

gcc example1.c -o example1 -I/root/workspace/exercise/languages/c/graph/sdl/SDL2-2.0.3/include -L/root/workspace/exercise/languages/c/graph/sdl/SDL2-2.0.3/build/build/.libs -lSDL2

运行

时间: 2024-11-10 04:13:26

SDL编程的相关文章

Ubuntu Eclipse SDL编程第一个工程

UFO SDL编程入门第一个工程 刚建立个工程,遇到了一个问题,就是SDL头文件和库路径的问题,总是提示找不到库,如图: 百度了很多种方法,都没能解决问题,很郁闷,最后在一篇安装SDL的文章中看到了,SDL里面有test程序,可以测试效果,于是乎我在test里面试了下例程,果然可以运行.既然它的可以运行,就一定有正确的路径设置.哈哈,解决问题的关键.下面请跟我一起来看看怎么解决(^水平有限啊,不足之处请多指正^) 现在这个问题解决了,希望能对大家有所帮助: 使用Eclipse编译环境,学习SDL

【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做了介绍,也带大家配置了SDL的开发环境.请大家按照上一课的步骤创建一个SDL工程,能够初步运行. 如果遇到问题,可以百度,Google相关平台SDL的配置.或者联系小编. 当然了,有些朋友可能会说开发C语言游戏还可以用GTK+这个库,但是个人认为GTK+没有SDL那么适合开发游戏,其创建图形界面的能

SDL 简介

SDL 简介 什么是SDL? 即 Simple DirectMedia Layer,使用 LGPL 许可证. 免费的跨平台多媒体应用编程接口 用于游戏.游戏开发工具.模拟器.样本演示.多媒体应用等 它能做什么? 视频.音频.事件.CDROM支持.线程.计时器.各种图象文件格式读取.快速绘图.混音.游戏杆支持.网络.MPEG解码等等,且CPU字节顺序无关. 大体上与DirectX比较对应关系如下: SDL_Video.SDL_Image.OpenGL -- DirectDraw.Direct3D

线程同步-iOS多线程编程指南(四)-08-多线程

首页 编程指南 Grand Central Dispatch 基本概念 多核心的性能 Dispatch Sources 完结 外传:dispatch_once(上) Block非官方编程指南 基础 内存管理 揭开神秘面纱(上) 揭开神秘面纱(下) iOS多线程编程指南 关于多线程编程 线程管理 Run Loop 线程同步 附录 Core Animation编程指南 Core Animation简介 基本概念 渲染架构 几何变换 查看目录 中文手册/API ASIHTTPRequest Openg

【python游戏编程之旅】第一篇---初识pygame

本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 参考书籍:<python游戏编程入门> 一.pygame简介 Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础上开发.允许你在 Python 程序中创建功能丰富的游戏和多媒体程序,Pygame 是一个高可移植性的模块可以支持多个操作系统.用它来开发小游戏非常适合. 可以去http://www.pygame.org/hifi.html 下载并安装使用pygame. 二

游戏编程与游戏种类

游戏编程指利用计算机编程语言,如C编程语言.C++.java等,编写计算机.手机或游戏机上的游戏. 目前流行的游戏编程语言为C++编程语言,目前流行的游戏编程接口为DirectX9.0,还有OpenGL.SDL(Simple DirectMedia Layer)等.现在手机上玩的游戏分为Android与IOS两种不同平台,分别是用eclipse/MyEclipse和xcode.现在也流行一些跨平台的编程引擎,例如cocos2d-x.unity 3D等. 简介 游戏编程指利用计算机编程语言,如C编

《白帽子讲WEB安全》学习笔记之第17章 安全开发流程(SDL)

第17章 安全开发流程(SDL) 17.1 SDL简介 安全开发是从根源有效地解决安全漏洞问题,而已在软件的生命周期内,这样的开发模式成本更低. SDL过程: q  培训 所有的开发人员必须接收适当的安全培训,了解相关的安全知识. q  安全要求 明确项目的安全要求. q  质量门/bug栏 质量门和bug栏相当于确定安全和隐私质量的最低可接受级别. q  安全和隐私风险评估 评估项目中的安全现状和威胁模型 q  设计要求 在产品设计初期考虑安全问题 q  减小攻击面 减小攻击面通过减少攻击者利

【C语言探索之旅】第三部分第三课:SDL开发游戏之显示图像

内容简介 1.第三部分第三课: SDL开发游戏之显示图像 2.第三部分第四课预告: SDL开发游戏之事件处理 第三部分第三课:SDL开发游戏之显示图像 上一课中,我们学习了如何加载SDL库(SDL_Init),释放SDL库(SDL_Quit),如何打开一个窗口(Window),如何使用表面(Surface). 这些都是SDL库最最基本的操作.暂时,我们只会给窗口自带的表面上点颜色,好像挺乏味的. 这一课我们来学习如何插入图片.上一课我们说过,SDL中绘制图样需要在Surface上进行.Surfa

C语言初学者编程规范十条

从事C语言的教学也有不短时间了,在教学中发现学生们在编程方面有一个极不好的习惯,就是随意命名,这不仅给自己日后阅读自己程序时带来不便,也给其他的程序阅读者带来麻烦,更重要的是没有统一的规范总显得像是个游击队,没有正规军的感觉,企业也不愿意要业余选手,所以C语言的初学者最好一开始就培养一种良好的编程习惯,也许日后进入公司有些改动,需要适应,但基本的规范和规则是不需要改的,这样可以帮助你少走很多弯路,经过这些年的学习和工作,总结了一些规范的内容,为了好记,便于传播,特总结为十条,建议读者采纳.