SDL-我的爱

SDL2.0学习笔记2---基于SDL的基本游戏架构 #include "SDL.h" /****************************************************************************** game strtucture: initialise | | ----get input | | | | | do physics | | | | ---- 阅读详情
在将近一年以前,我决定学习新的图形库SDL,这是我图形编程生涯的又一次转折,虽然我不认为ALLEGRO有什么不好,但由于它的不普及,我不得不考虑换用大家更熟悉的SDL来开发我的下一个GUI作品,这个被命名为COOPA的家伙,真正的基于消息机制和多任务内核的GUI。 SDL的官方主页是:http://www.libsdl.org 我在访问它多次之后,发现SDL可以支持的语言还不只是C/C++,比ALLEGRO更多的应用在不同的系统平台,虽然用SDL编程看起来更接近DIRECTX的那种晦涩难懂。但我还是是愿意尝试SDL的美丽。 如果你愿意跟我共同的领会SDL的美,那么今天之后,你将看到我使用SDL开发GUI的完整过程,我以往的GUI开发日志其实很不科学,以为记录的都是含糊的功能增加以及我在某处的修改,如果你不是我,恐怕你很难看懂我写的日志,即使给你代码,你也要找好长的时间,才可以找到我所提到的修改。 为了改变这种状况,我曾经考虑过CVS,但是那不适合我,我不是一个可以随时维护CVS的人。另外,由于ALLEGRO也支持VC,所以VISUAL STDIO里的SOURCE管理我也考虑尝试应用一下,但那也不适合我,我习惯的是把修改过的版本都一个一个的备份起来,即使它们将占用我很大的硬盘空间。 在日志方面,我更喜欢把心得写下来,但有时只是方便自己维护各个版本,所以简单的描述是足够的。 似乎我说的东西开始跑题了,重新回到SDL的话题。 Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. There is also code, but no official support, for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, and Ruby. 以上的一段话来自SDL的官方网站的主页,如果大家稍微懂一点英语的话,可以理解SDL的宗旨。如果不是很理解,他是一个提供音频,键盘,鼠标,游戏手柄,3D硬件[通过OPENGL],和2D framebuffer的底层库,他是平台交互的多媒体库。支持的系统包括当前流行的LINUX,WINDOWS,BEOS,MACOS,FreeBSD,OpenBSD,Solaris,IRIX和QNX等系统,我想你该为这个激动的,因为在所有这些系统上你都可以找到GCC的身影,只要我们使用的是GCC和SDL,我们的程序只要通过重新编译,变可以轻松的运行在不同的系统平台上,这就是我们所希望的平台交互。 好了,看到了SDL的优点之后,就让我们真正的开始我们的SDL之旅吧。 下一次,我们从封装SDL谈起。
2D游戏引擎Allegro 系列教程(一) 配置allegro开发环境 本系列文章由sky编写,转载请注明出处。 http://blog.csdn.net/qq573011406/article/details/8100039 作者:袁全伟   邮箱: qq573011406@126.com    欢迎邮件交流编程心得 本系列教程索引: 2D游戏引擎Allegro 系列教程(一) 配置allegro开发环境 2D游戏引擎Alle 阅读详情

相关推荐

SDL库的安装

SDL的介绍    SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标(事件)、游戏摇杆等。当然,最为重要的是提供了 2D图形帧缓冲(framebuffer)的接口,以及为 OpenGL 与各种操作系统之间提供了统一的标准接口以实现 3D图形。从这些属性我们可以

zhangliang_571的专栏 1万+

SimpleVRCpp:使用OculusVR SDK和SDL的简单示例

SimpleVRCpp:使用OculusVR SDK和SDL的简单示例

SDL解析——SDL视频处理

<br />SDL初始化 完成,就可以开始视频处理的部分了。首先需要调用的函数是:<br />SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags);<br />    这个函数的作用是设置显示模式。但最终会给我们弹出一个图形窗口。它包含4个参数,分别是窗口宽,高,以及每一个像素点所占的比特位bpp(bits per pixel)。这些往往与其它类似的图形库差别不大。这样,我们无形当中得到了一个<br />(w

桃李无言 7950

SDL概念介绍

下面是我对网上知识的一些总结: 1、SDL是一套开放源代码的跨平台多媒体开发库,使用C语言写成。 2、SDL提供了数种控制图像、声音、输入输出的函数,可以跨平台进行软件开发。 3、目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。 4、视频部分: 可以设置8bpp或更高的任意色彩深度的视频模式。如果某个模式硬件不支持,可以选择转化为另一模式。 直接写

amumu_123的博客 2822

图形开发之ALLEGRO,写给从TC开始学图形编程的朋友

很多人图形开发的开始阶段是TC的默认图形库,我同样走了那个道路,但是后来,很自然的,我的注意力到了ALLEGRO这个东西上,原因很简单,他的函数给的足够全,足够多,而且他的封装提供了控制台程序编程模式。这就是说,大家在C语言中的MAIN里,可以轻松的在图形模式下工作。当然还有很多其他的图形库值得使用,不过我还是很推荐ALLEGRO。 如果大家为了写一个BMP的读写函数浪费时间的话,我想还

vrix的专栏 2479

SDL_Engine游戏引擎制作 5-Texture 2.x的新宠

SDL在2.x后,SDL_Texture成为了主力军,以实现各种绘制操作。简单介绍一些与之相关的函数:1.SDL_QueryTexture。获取一个纹理(即SDL_Texture)的属性,如纹理的高和宽等。Texture.h#ifndef __SDL_Texture_H__ #define __SDL_Texture_H__ #include "SDL.h" #include "Object.h"...

bull521的博客 1236

SDL 入门指南:了解 SDL,快速上手 SDL 的安装和配置——VS2022

SDL 入门指南:了解 SDL,快速上手 SDL 的安装和配置”——VS2022

热爱编程的小K的博客 3万+

ffmpeg和sdl教程(四) -- 创建线程

概述 前面,我们利用 SDL 的音频处理功能优势增加声音支持。每次我们提供音频支持,需要创建一个函数,供SDL启动线程来回调。现在我们要做一些事来关于视频显示。这让代码码更模块和更容易工作-尤其当我们需要增加同步的时候。我们从哪里开始? 首先我们注意到,我们的主函数处理:它运行经过事件环,读数据包,视频解码。我们要做的事情分成就几个部分:我们用一个线程专门负责解码数据包;这些数据包被加到等

sunliangyuan的专栏 1461

SDL 介绍

一、SDL的使用 加头文件 #include<SDL.h> 初始化SDL 退出SDL SDL 主要用在渲染 SDL 渲染窗口 初始化:SDL_Init(),SDL_Quit() 创建窗口:SDL_CreatWindow() 销毁窗口, SDL_DestoryWindow() 创建一个渲染器:SDL_CreateRender(),作用是把图像帧会到窗口里面去。 ...

m0_37579906的博客 4444

海思平台freetype、SDLSDL_TTL的编译

说明 最近一个需求是往生成的录像文件中加入显示时间,这里的开发是基于海思平台(Hi3521D),所以实际上就是往编码通道贴OSD,这里先介绍freetype、SDLSDL_TTL这三个库在海思平台上的编译。 一、源码的获取 1、freetype、SDLSDL_TTL源码的链接:https://github.com/As772309423/freetype-SDL-SDL_TTL 下载完源码之后...

野生程序猿_Wilburn 3436

【FFmpeg】SDL 音视频开发 ④ ( SDL 多线程 | SDL_Thread 结构体 | SDL_CreateThread 函数创建线程 | SDL_WaitThread 函数等待线程执行 )

一、SDL 多线程简介 1、SDL 多线程引入 2、SDL_Thread 多线程模型 二、SDL 多线程相关函数 1、SDL 创建线程 - SDL_CreateThread 函数 2、SDL 等待线程执行完毕 - SDL_WaitThread 函数 三、SDL 线程代码示例 - 创建并等待线程执行完毕 1、代码示例 2、执行结果

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1643

SDL库及SDL_draw库的安装、SDL库的使用

在Ubuntu下使用apt-get安装,由于我在安装过程中出现的错误,要注意一定要在联网的情况下进行安装。分别安装libsdl1.2-dev、libsdl-image1.2-dev、libsdl-mixer1.2-dev、libsdl-ttf2.0-dev、libsdl-gfx1.2-dev。安装完成以后就会生成一个目录,在目录/usr/include下可以使用ls命令查看SDL文件夹中的内容,里面包含了所需要的头文件。

weixin_43824515的博客 3899

SDL解析——SDL简介

SDL是什么?它是一个集输入控制,音频处理,视频处理于一身的跨平台底层函数库。SDL的一个主要应用领域就是游戏开发。很多知名的游戏都是以它为基础的。由于它的易用,高性能以及跨平台等诸多优点。被广泛的应用在各种操作系统之中。    SDL本身是使用C语言写成的。对C/C++语言具有原生的支持。与此同时,它也被绑定到了其他编程语言之中,这些语言包括Ada, C#, D, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Object

桃李无言 1万+

尝试第一个SDL扩展 SDL_gfx

前面我提到SDL是一个很复杂很大的库,入手简单,精通却难,这是因为,SDL本身之外,还有很多附属的库存在,再次列出我系统安装的SDL相关库:SDL_Pango-0.1.2-8.x86_64SDL_ttf-2.0.9-4.fc9.x86_64字体显示的库,支持utf8,意味着支持中文等等英文之外的各种语言,支持了部分的字体效果,包括镂空。SDL_gfx-2.0.16-5.fc9.x8

3432

linux图形编程之SDL

SDL startSDL是编写跨平台游戏和多媒体应用的支持库,包含了对图形、声音、游戏杆、线程等支持,内容丰富、应用广泛。 ubuntu15.04上安装SDL: Source Code在 http://www.libsdl.org/download-1.2.php上,下载SDL-1.2.15.tar.gz。解压tar -zxvf SDL-1.2.15.tar.gz,在加压后的文件夹SDL-1.2

theArcticOcean 6025

SDL - SDL事件

SDL事件 函数 SDL_WaitEvent(): 等待事件; SDL_PushEvent; 发送一个事件(事件入队); SDL_PumpEvents(): 将硬件设备产生的事件放入事件队列,用于读取事件,在调用该函数前,必须调用SDL_PumpEvents搜集键盘等事件; SDL_PeepEvents(): 从事件队列提取一个事件 数据结构: SDL_Event: 事件结构体; 示例d...

u010096608的博客 1309

SDL检查

SDL检查 在用 Visual Studio 编译比较早的代码时,经常会遇到错误: 错误 C4996 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online...

icebergliu1234的博客 7966
上一篇: 图形开发之ALLEGRO,写给从TC开始学图形编程的朋友
下一篇: VC,学C的最后境界!?
vrix
博客等级 码龄23年 670粉丝 167原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值