




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章跨平台图象显示库SDL第二节函数库的详细介绍基本函数 在上一节中,我们已经了解了SDL的安装和基本的使用方法。还给出了编译使用SDL程序的源代码。接下来,我将带领各位深入SDL其中,逐一介绍SDL的各个函数。首先我们先从基本函数说起。 当你需要在你的程序中使用SDL的时候。你首先要做的事情,就是在你的程序中初始化SDL。这个工作,你可以交由SDL_Init函数来做。SDL_Init函数可以初始化任何SDL所支持的子系统,其中包括图象,声音,摇杆,时钟等子系统。当然,在你使用SDL_Init函数初始化以后,你可以使用SDL_InitSubSystem和SDL_QuitSubSystem函数来加载和卸载子系统的。当然啦,你的程序退出前,你必须卸载所有的子系统以释放系统资源。通过调用SDL_Quit,可以轻松的卸载掉你所加载的子系统并释放这些子系统的系统资源。SDL_Init 函数摘要 #include“SDL.h” intSDL_Init(Uint32 flags); 函数介绍 这个函数是用于初始化SDL的,你必须在调用其他的SDL函数之前调用该函数。其中flags的参数和意义如下。当你需要初始化多个子系统的时候,可以用把这些参数或 起来。 SDL_INIT_TIMER始化 计时器 子系统SDL_INIT_AUDIO始化 音频 子系统SDL_INIT_VIDEO始化 视频 子系统SDL_INIT_CDROM始化 光驱 子系统SDL_INIT_JOYSTICK始化 摇杆 子系统SDL_INIT_EVERYTHING初始化以上全部的子系统 返回值说明 返回 -1表示错误,返回 0表示初始化成功。SDL_InitSubSystem 函数摘要 #include“SDL.h” intSDL_InitSubSystem(Uint32 flags); 函数介绍 在你通过 SDL_Init为SDL初始化以后,你可以通过SDL_InitSubSystem函数来初始化那些没有被初始化的子系统。其中flags的参数定义和 SDL_Init的一样。 返回值说明 返回 -1表示错误,返回 0表示初始化成功。SDL_QuitSubSytem 函数摘要 #include“SDL.h” voidSDL_QuitSubSystem(Uint32 flags); 函数介绍 SDL_QuitSubSystem函数可以卸载你曾经通过 SDL_Init或者 SDL_InitSubSytem函数加载的子系统,其中参数 flasgs的定义和 SDL_Init中的定义一样。SDL_Quit 函数摘要 #include“SDL.h” voidSDL_Quit(void); 函数介绍 SDL_Quit函数可以卸载所有你所加载的子系统,并且释放这些子系统所占用的资源。这个函数一般是在程序退出以前调用的。SDL_WasInit 函数摘要 #include“SDL.h” Uint32SDL_WasInit(Uint32 flags); 函数介绍 SDL_WasInit函数,允许你查看你所加载的子系统有哪些。其中flags的内容为你所要检查的子系统。 返回值说明 函数返回一组你所要检查的子系统加载情况的说明。是几个bit字的或。你可以用与操作来逐一检查你所要检查的子系统是否被加载。 下面给出一组关于以上函数的Demo代码,以及他的Makefile。 SDL_General_Demo.c的C代码 /NERVE Development Team/SDL_General_Demo.c#include #include #include #define NOTE(msg) printf(NOTE: %sn,msg)int main(int argc,char *argv) SDL_Init(SDL_INIT_VIDEO); NOTE(load video subSystem); SDL_InitSubSystem(SDL_INIT_AUDIO); NOTE(load audio subSystem); if(SDL_WasInit(SDL_INIT_EVERYTHING)&SDL_INIT_AUDIO) NOTE(AUDIO SubSystem was loaded); else NOTE(AUDIO SubSystem is unloaded); SDL_QuitSubSystem(SDL_INIT_VIDEO); NOTE(unload video subsystem); if(SDL_WasInit(SDL_INIT_VIDEO) NOTE(VIDEO SubSystem was loaded); else NOTE(VIDEO SubSystem is unloaded); SDL_Quit(); NOTE(unload any subsystem of SDL); return(0); 编译SDL_General_Demo.c的Makefile文件。 #MakefileCC=gccSDL_INCLUDE=D:/SDL/includeSDL_LIB=D:/SDL/liball:SDL_General_Demo.o $(CC) -L$(SDL_LIB) -o Demo SDL_General_Demo.o -lmingw32 -lSDLmain -lSDLSDL_General_Demo.o:SDL_General_Demo.c $(CC) -I$(SDL_INCLUDE) -c SDL_General_Demo.c -o SDL_General_Demo.o 按照以上两个文件的编译,我们可以得到一个名为Demo的可执行程序。当你执行 Demo以后。你将在Demo所在的文件夹内找到一个名为stdout.txt的文件。他是对 标准输入输出的重定向文件,你使用printf打印到终端的内容全部保存在这个文件内。下面是我的stdout.txt的内容 NOTE: load video subSystemNOTE: load audio subSystemNOTE: AUDIO SubSystem was loadedNOTE: unload video subsystemNOTE: VIDEO SubSystem is unloadedNOTE: unload any subsystem of SDL文外音:感觉现在的文章更新间隔是越来越长了,不过还是感谢各位对我的支持。我相信,我以后的文章更新会慢慢的加快节奏的。也同时感谢各位读者的支持和理解。呵呵,感觉一个学期又结束了,虽然在学期的结尾的时候和某个人发生了些不快。但是,我想我还是大度一点不和他计较了。同时我也觉得,人生中有很多事情是强求不来的,我们的一切都是早已在我们诞生以先就已经定下了,不论是我们在世上的疆界还是我们的财富。在上一阶段的时间里,我曾经充满希望,也曾经绝望过,但是不论何时我都觉得有种无形的力量在我绝望的时候扶助我,让我不至全然的扑到在地。如今,我真正觉得我曾经的绝望是如此可笑无知,因他让我见着希望。所以,不论我们当前的处境如何绝望,只要抱着信心走在正直的道路上,我相信我们一定能看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权出资入股合同
- 2025官方版劳动合同书范本
- 2025跨国服务贸易合同
- 2025设备采购合同简单范本
- 2025年医疗机构聘请安保服务合同
- 六级舞蹈考试b卷题目及答案
- 化学招教考试题库及答案
- 大一礼仪文化考试内容及答案
- 高级中学音乐教师资格考试面试试题与参考答案2025年
- 2025年综合素质文化常识测试题(附答案)
- 职场礼仪与素养
- 输变电工程安全施工作业票模板使用说明
- GB/T 26163.1-2010信息与文献文件管理过程文件元数据第1部分:原则
- 土建计量GTJ测试试题附答案
- 《一线三垂直模型》
- 清洗地毯操作流程课件
- 系统硬件-通信模块741-s使用手册
- 球磨机试车方案
- 四年级上册数学单元测试-8.垂线与平行线 苏教版 (含解析)
- 中药的煎煮方法课件
- 医院患者有自杀倾向时应急预案及处理流程
评论
0/150
提交评论