连连看游戏开发实践(2) - 图形界面

1 view
Skip to first unread message

benegg

unread,
Jul 10, 2009, 6:43:21 AM7/10/09
to online_game_dev
转自: http://www.benegg.com/?p=39 图片在上面.

在前一篇日志(连连看游戏开发实践(1) - 算法)中, 已经做了一个命令行下的文字界面的连连看. 这一回, 我要给它加一个图形界面外壳, 将数
字转换为图片显示, 用鼠标点击代替输入文字坐标.

程序运行界面如下:

图标(icon)使用了 gnome-look.org 网站上的 GPL 图标, 然后我自己用 Gimp 做了格子的背景和边框(正常和选中状
态), 用 Xorg 的图标表示爆炸的格式, 两点的闪电连线胡乱用一个图标表示.

程序目前只是一个实现了连连看算法的小游戏, 并不是一个真正的连连看游戏, 因为它缺少计时, 结束判断等等功能. 这会在以后逐步实现.

程序的图形库采用SDL(libsdl). 当然也可以使用DirectX, 使用SDL并没有特殊的原因, 在cygwin下编译, 依赖
cygwin运行环境. 也许使用DirectX会是更好的选择. SDL_image库原生支持png图像的透明键, 所以图像用起来很方便, 简单
叠加, 你只需要控制blit的先后顺序即可. SDL使用png图像文件的代码可以见: 用SDL在Linux实现图像的移动

程序有一些以后需要完善的地方:

* 基于鼠标事件驱动, 不知道该如何显示动画, 计时等.
* 地图的生成算法需要改进, 当前只是随机生成地形, 经常出现地形不是成对匹配的情况.
* 播放声音.
* 两点的闪电连线更好的表现形式.
* 资源的载入, 目前是写死在代码中的, 以后需要通过配置文件或者菜单来选择图标主题.
* 资源的引用方式, 目前是把所有资源载入一个结构体实例, 每一张图片通过该结构体的一个字段引用.

Tags: libsdl, SDL, 游戏开发, 连连看开发实践

你现在看的文章是: 连连看游戏开发实践(2) - 图形界面

Reply all
Reply to author
Forward
0 new messages