作者:龙飞
今天是元宵节,新年过去,又要开始抓紧时间奋斗了。祝大家都能继续追逐自己的梦想。BS的书上引过一句话,“一个人要是不耕作,就必须写作”,所以,不耕作的我不能停止写作,time is money, my friend!
1.1:整理两种SDL_Surface的关系。
前面一直在用面向过程的思想写程序,因为OOP细分到每一个具体的方法,还是过程。OOP的难点其实在于理清楚不同类之间的关系。说实话,我只是为了自己的理想,为了实现我计划的项目,刚刚开始学习C++的菜鸟。两个多月的C++能有什么水平,希望前辈们不要见笑,我会继续努力的。而且,可能因为对于C++的偏爱,再加上我目前能找到的SDL相关教程都是C风格的,所以我充满了用C++来写SDL教程挑战的热情。
SDL_Surface是SDL的一个结构。在我们前面的知识中,学习了构建这个结构的两种方法:一种是通过SDL_SetVideoMode();一种是SDL_LoadBMP()。其实,通过SDL_SetVideoMode()构建的SDL_Surface是一种特殊的surface,因为,实际上,其他的surface都是通过blit到这个surface上,最终通过flip这个surface,才能显示出来。所以,这个surface可以看成是SDL库中,数据形式的surface(储存在电脑中)与实体形式的surface(通过屏幕显示出来)的唯一接口。另外,因为构建这两种surface需要的数据成员小同大异,类方法也不尽相同。所以,虽然我也考虑过建立一个基类把两种surface作为派生类,但是我最终选择了建立两个类。
1.2:构建SDL screen surface类。
今天是元宵节,新年过去,又要开始抓紧时间奋斗了。祝大家都能继续追逐自己的梦想。BS的书上引过一句话,“一个人要是不耕作,就必须写作”,所以,不耕作的我不能停止写作,time is money, my friend!
1.1:整理两种SDL_Surface的关系。
前面一直在用面向过程的思想写程序,因为OOP细分到每一个具体的方法,还是过程。OOP的难点其实在于理清楚不同类之间的关系。说实话,我只是为了自己的理想,为了实现我计划的项目,刚刚开始学习C++的菜鸟。两个多月的C++能有什么水平,希望前辈们不要见笑,我会继续努力的。而且,可能因为对于C++的偏爱,再加上我目前能找到的SDL相关教程都是C风格的,所以我充满了用C++来写SDL教程挑战的热情。
SDL_Surface是SDL的一个结构。在我们前面的知识中,学习了构建这个结构的两种方法:一种是通过SDL_SetVideoMode();一种是SDL_LoadBMP()。其实,通过SDL_SetVideoMode()构建的SDL_Surface是一种特殊的surface,因为,实际上,其他的surface都是通过blit到这个surface上,最终通过flip这个surface,才能显示出来。所以,这个surface可以看成是SDL库中,数据形式的surface(储存在电脑中)与实体形式的surface(通过屏幕显示出来)的唯一接口。另外,因为构建这两种surface需要的数据成员小同大异,类方法也不尽相同。所以,虽然我也考虑过建立一个基类把两种surface作为派生类,但是我最终选择了建立两个类。
1.2:构建SDL screen surface类。
class
ScreenSurface
{
private :
static int screenNum;
int width;
int height;
int bpp;
Uint32 flags;
SDL_Surface *
{
private :
static int screenNum;
int width;
int height;
int bpp;
Uint32 flags;
SDL_Surface *