【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

游戏讨论
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
联系:

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#46

帖子 racnil » 2011-01-22 6:24

指出LZ的一个理解Surface的误区。

Surface是一个数组,这个数组代表一个矩形的区域,在这个矩形的区域内会存放有关于BMP图像的像素信息(注意往下看LazyFoo大哥的教程,后面有详细的像素操作的解释)。什么叫做screen呢?一般地来说,SDL会把帧缓存跟这个Surface挂钩,所以初始化的时候这个Surface要初始化成与显示大小相同的区域。其它所有的Surface都要Blit到这个Surface上面来,在SwapBuffer的时候,这个Surface中的内容就会被Copy到后台缓存。

所以这个Surface是实实在在的Surface,并不是不可见的。我们所有见到的内容,其实都是screen上面的内容。

另外指针的*写在哪里都是无所谓的,这只是反映了不同的人对指针不同的理解而已。只要所有的写成统一的就已经非常好了。
上次由 racnil 在 2011-01-22 9:30,总共编辑 1 次。
SLAX and Xorg(without any Window Managers)
It's fun!
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
联系:

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#47

帖子 racnil » 2011-01-22 6:32

最后SDL_SWSURFACE这个参数是用来设置内存中的surface
详细一点说,这个Key是用来设置单缓存模式的。游戏中很少会用得到,一般都会用双缓存。
双缓存就是说呢,一个缓存中的内容会被显示到屏幕上,在显示前面的缓存时,后面的一个缓存就会开始做绘制的工作。然后系统会把前面的缓存与后面的缓存交换位置,把后台已经绘制好的内容显示到前景。原来是前景缓存此时在后台就开始做绘制工作,如此往复……
SLAX and Xorg(without any Window Managers)
It's fun!
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#49

帖子 风间星魂 » 2011-01-22 13:39

这个SDL库最大的毛病是只能用BMP图,有linux用BMP图的么? :em20
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
联系:

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#50

帖子 racnil » 2011-01-22 16:42

风间星魂 写了:这个SDL库最大的毛病是只能用BMP图,有linux用BMP图的么? :em20
SDL不只是可以利用BMP图的。SDL可以载入诸如PNG,JPEG等其它图片格式。但是这需要加载其它的头问件和利用其它操作。
SLAX and Xorg(without any Window Managers)
It's fun!
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#51

帖子 fanhe » 2011-01-26 19:03

英语不太差的自己直接看lazyfoo的教程吧,很浅显易懂的
另外,楼主,貌似这个教程已经有人翻译了前十几课了

反正我是直接看英文版的……
头像
Rothsdad
帖子: 395
注册时间: 2009-04-18 11:41

Re: 【教程】Rothsdad教大家写Linux游戏 [已更新至第二节]

#52

帖子 Rothsdad » 2011-07-19 14:11

love2d 的 lua引擎 很适合新手练手.

lua的生命力很强啊
回复