设为首页 加入收藏

TOP

Linux系统下用C语言编写2D图形游戏
2014-11-24 14:57:58 来源: 作者: 【 】 浏览:76
Tags:Linux 系统 语言 编写 图形 游戏

在Linux系统下,不要以为C语言就只能写那种只有字符的控制台程序,别忘了,Linux系统有FrameBuffer(帧缓冲),只要显示器是彩色的,并且是linux系统的,就可以用C语言代码通过读写FrameBuffer里的数据在屏幕上绘制图形;


图形嘛,有png库,用它的函数解码图片文件,得到图片数组,共有red、green、blue、alpha四种数组,alpha用于图片之间的组合,最终将RGB数组输出到FrameBuffer就能显示了;


想要动态图形效果,自己用算法实现。


目前,我正在为自己的嵌入式设备开发一个游戏,图形素材来源于互联网,游戏截图如下图所示:




如上图所示,主菜单中的红色光标有闪烁效果,游戏画面切换有淡入淡出效果。


下面有源码,现在使用的按键控制方法的效果不理想。


linux系统环境,按键判断,使用了getch()和kbhit()函数,函数是模拟实现的。


为了判断按键是否为按住状态,我使用一个变量count来计数,每循环一次自增,也就是按键检测延迟的最大时间,超过了这段时间,如果getch()函数没有再次返回接受到同样的按键的键值,那么就判断为这个按键已经释放,否则,该按键处于按住状态,并继续显示之前的动作。


还有图形显示,目前没掌握局部刷新的技术,游戏显示的每一帧图形都是全屏刷新的,效率低,每秒大概刷新4帧。


源码只提供部分:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇能将图形水平翻转的函数 下一篇研究mgaview的源码的成果

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: