到目前为止,该教程已经涵盖了开发一般桌面游戏所需要的大部分技术,后续主要集中在网络这块的开发,到时候将会介绍一些基本的网络编程知识。
SDL游戏开发是我第一次接触,写这个教程也是对自己的学习过程做一个记录和总结,希望对想要了解SDL游戏开发的人有些帮助。在编写这个教程的过程中,暴露了一些问题,在此,自己总结一下:
1、开始这个教程的时候,用的是MINGW+ECLIPSE环境,最初的想法是通过熟悉这套环境,以后到LINUX环境下做SDL游戏开发,会容易上手。结果是,这套环境在windows下并不太好用,一个原因是GCC和VC8两个编译器有些差别,错误提示的方式不一样,并且对异常的处理方式也不一样。另一个原因是DEBUG不好用,速度慢,还常启动不起来或者出些莫名其妙的错误。通过这次得出的结论是:对于开发环境的选择,一定要选当前系统平台下的主流开发工具,毕竟用的人多,BUG少。对于学习来说,如果代码量少,可以尝试选择其他系统平台主流开发工具的当前系统版本,为以后跨系统平台的开发积累经验。
2、SDLCore.h文件的设计。开始的时候,将这个头文件设置成这样主要有三个目的:a、工厂类模式,这里统一生成常用类的对象,并且保证对象只有一份。b、将常用类集中到这里,便于使用的人了解这个库提供了哪些功能,提供一个统一的代码查看入口。c、使用方便,只要一个SDL::就什么都出来了。但造成的结果是过渡依赖,比如你只用到了sceneManager,并没有用到别的类,那么包含了这个头文件后,当其他类的头文件发生变化,当前类也需要重新编译,造成编译时间变长;同时由于过渡依赖,造成头文件包含关系过于复杂,常常出现找不到类定义的错误。
基于第二个原因,重新设计了SDLCore.h文件,将它定位为只供外部模块调用的头文件。模块内部类之间相互包含的时候尽量最小化依赖,只包含自己依赖的头文件。
分享到:
相关推荐
SDL游戏开发经典教程03源代码,来自http://lazyfoo.net/tutorials/SDL/index.php
SDL游戏开发经典教程01源代码,来自:http://lazyfoo.net/tutorials/SDL/index.php
SDL方面的经典教程,并提供有例子以供练习。
NULL 博文链接:https://public0821.iteye.com/blog/306432
NULL 博文链接:https://public0821.iteye.com/blog/296051
Mini6410上移植SDL游戏的详细步骤,含有源代码,可以直接在mini6410上直接运行
因为Linux的普及以及不受$M的牵制,SDL在过去的几年中,成为了跨平台开发PC游戏的首选。即使是在Windows平台下,SDL有具有自身的优势。与MFC使用不成熟的C++外表伪封装的win32api以及一家独唱推崇的COM风格和.net相...
NULL 博文链接:https://public0821.iteye.com/blog/399347
lazyfoo SDL游戏入门教程 紫冀魔王 翻译版 lazyfoo的libsdl教程是比较好的入门教程,而此中文版翻译可以让学习者更容易学习
NULL 博文链接:https://public0821.iteye.com/blog/292056
该资料是从网上搜集的SDL详细资料的总结,适于SDL的游戏开发、linux下的视频播放器开发、嵌入式产品GUI界面的开发!该资料是从网上搜集的SDL详细资料的总结,适于SDL的游戏开发、linux下的视频播放器开发、嵌入式...
NULL 博文链接:https://public0821.iteye.com/blog/309076
NULL 博文链接:https://public0821.iteye.com/blog/297862
教程内容:PDF文档 1.输出图片 2,块传输 3,事件控制 4,设置色键 5,裁剪精灵 6,定位崩溃 7,显示字体 8,按键操作 9,鼠标操作 10,按键状态 11,播放声音 12,动画制作 13,定时器 14,定时器高级应用 15,调整...
本书面向的对象为SDL2初学者。 或正在使用C4droid练习c/c++语音...当然我希望源代码在你的开发平台上总要有一点小问题,自己动手,丰衣足食。这样边学边用,效果好! 如有任何问题,百度不到的可以上C4droid吧发帖提问
们可以看出,SDL 基本上可以认为是为以电脑游戏为核心开发的多媒体库。 SDL 支持主流的操作系统,包括 Windows 和 Linux。在官方的介绍中,我们可以找到 它所支持的其他平台。(SDL supports Linux, Windows, ...
SDL1.2中文教程。网页版。解压后使用浏览器打开index.html即可
SDL系列教程 我要向大家介绍一个非常出名的游戏开发库――SDL。
2D小游戏的SDL框架代码,非常好用,可以任意添加东西