QT5实现贪吃蛇使用图形视图构架
来源:互联网 发布:游戏抢红包软件 编辑:程序博客网 时间:2024/05/16 09:19
最近学了一段时间QT,写个程序巩固一下所学。
这个贪吃蛇程序参考了很多Qt学习之路2的代码,我把里面有些我看不懂的部分换成了自己写的,总体功能还是实现了,但有很多Bug,希望各位指正。
首先是QGraphicsView,因为我希望能够,自定义背景,所有我写了个Map类继承了它,然后重写了他的drawBackground(),这样就可以自定义不同的图片来做背景了。同时也不用担心尺寸大小的问题,关于尺寸的我都用了.width(),.height()。函数取的所有尺寸会跟着图片大小变。
重点是蛇的移动这样我看不懂,我用了个QList来存储蛇的身体,然后takelast()取出最后一个值,然后加到头取,实现移动。如果吃到food就不会用takelast()了,直接在头insert()对应的点。
QGraphicsItem的碰撞函数cooidingItems()还是很屌的,蛇自己吃到自己我本来想用自己碰撞自己,然后读他的data()(事先设置了),发现读不出来好像自己碰撞自己检测不出来,用的是QList自带的contains(),要记得去掉头。
Timer和advance()的使用是写这个游戏的关键,有点像滴答定时器,可以设置这个游戏每秒多少帧。
因为主显示是个继承QMainWindow的类就在工具栏加了两个工具按钮实现结果如图:
建议使用大点的显示器。
代码的下载如下:
http://download.csdn.net/detail/u013239402/9658160
0 0
- QT5实现贪吃蛇使用图形视图构架
- c语言实现,图形化贪吃蛇
- QT5写的贪吃蛇
- 基于Qt5图形视图框架的“俄罗斯方块”
- 第七章、QT5图形视图框架
- 贪吃蛇小游戏 c++ easyx图形库实现
- 贪吃蛇(图形版)
- 使用java swing实现贪吃蛇
- Qt5开发学习之图形视图框架(九)
- 贪吃蛇C实现
- js实现贪吃蛇
- JavaScript实现贪吃蛇
- javascript实现贪吃蛇
- javascript实现贪吃蛇
- QT实现贪吃蛇
- javascript实现贪吃蛇。
- 贪吃蛇c++实现
- 贪吃蛇实现--Java
- LeetCode 99 Recover Binary Search Tree
- 自己用的vim配置
- oracle千万级数据查询优化
- mvp模式的套路怎么写
- (其他2)VideoPlayer 介绍
- QT5实现贪吃蛇使用图形视图构架
- c/c++的堆与栈 与数据结构的堆和栈的区别
- android - ViewPager 监听左右滑动
- Linux中删除刚刚解压缩的文件
- 汇编语言基础知识(更新中)
- JS中的变量声明
- Android低阶之【chapter-8】BroadCastReceive 广播
- 代码中设置View的LayoutParams
- 使用codestriker搭建代码评审平台