浅谈基于SDL的2D游戏开发相关
前言:本人才疏学浅,大一新生一枚 写这篇文章的目是为了跟大家分享下自己的一些经验。
进入正题:首先本文这一切的一切都是基于SDL开发WINDOWS平台上的游戏。如今做2D游戏用到的图形库很多,大一这一年来学过 EASYX 、SDL 、OPENGL,但是为什么我要选择SDL来开发2D游戏?
EASYX:用过EASYX的都知道,EASYX不支持PNG格式,要想达到较好的贴图,有两种方式,1、要么你用一张原图一张掩码图来亦或后贴图,2、要么逐像素处理,这些方法不仅麻烦而且贴出来的图效果都不是很理想,除非你想做渣画质,这里不是黑EASYX而是EASYX确实存在这么一个短板。就因为这个问题后面果断抛弃EASYX了。
OPENGL: 众所周知的图形库了,整一个高端大气上档次的玩意。强悍的图形渲染和加速能力,秒杀任何2D和大部分3D,当然跟DX比起来还是有那么一点不足(个人观 点),这里之所以没有选择OPENGL,是因为OPENGL太高端,不适合很多游戏初学者使用,OPENGL太吃代码了,如果是高手的话用OPENGL那是完全没 问题的。
SDL: 注:这里及以后谈到的是SDL2.0版本不是1.2老版!
个人觉得SDL是介于EASYX和OPENGL之间,SDL之于EAXYX的优势在全屏模式下SDL支持硬件加速,支持PNG。之于OPENGL的差距在于不支持3D,不好实现窗口震动等游戏效果。SDL在全屏模式下支持硬件加速,自动限帧(60帧),快速载入PNG图片 (当你需要导入一些光影特效的时候你就会发现这个功能是多么的便捷,OPENGL载入PNG还需要做很多技术处理!)但是SDL本身的优势也是很明显的虽然她不是那么高端,但是开发一款2D游戏够用了。令人兴奋的是SDL与OPENGL一样支持跨平台!
游戏:
编译环境:VS2010 + SDL2,0;
语言:C/C++
待更新!