Qt图形简单绘制(3)-贪吃蛇小游戏
2017-11-14 10:01
381 查看
今天我们的讲解还是参考自DevBean的博客
【非常感谢“豆子”的开源笔记,我已经给了原作者打赏支持,应该算是买了他部分版权。。。】
不过根据项目中大家的需求做一些修改,因为我们将会主要处理图片和视频。
在初步了解Qt绘图相关的基础知识后,我们将开始学习用Qt做一个贪吃蛇小游戏。
不过在开始游戏之前,我们首先要了解Qt中的一个重要框架,叫Graphics View。
Graphics View是一个很常用的框架(贪吃蛇,俄罗斯方块等用Graphics View都是最好的方法...),甚至Linux的KDE桌面视图都是用它编写的。
Graphics View 分为三个部分:元素(item),场景(scene)以及视图(view)。
我们举一个很简单的例子:我们看到森林里有很多树,那么这个森林就是场景(scene),树是元素(item),你的眼睛就是视图(view)。我们可以在场景里种树,也就是把item通过add的方法置于场景,遮阳,在我们的视图(view)里面就会出现一棵树了。而实际上,我们也未必会一直站在同一个地方看树;当我们移动的时候,整个森林(scene)的场景在我们的视图(view)里边变化。而这在程序中对应着二维图的旋转,缩放等功能。
我们来看下面一这个代码:
这种方式在OpenGL以及其他三维软件API中也很常用,想想大家完第一视角的游戏(比如‘我的世界’),无非就是建立一个场景(世界),修改场景中的元素(比如盖房子),然后移动视角,遮阳在场景中就能呈现我们的世界。
大家也可以通过以上代码,简单做几个小程序,或者采用简单的形状,通过代码画一幅简单的画。
【非常感谢“豆子”的开源笔记,我已经给了原作者打赏支持,应该算是买了他部分版权。。。】
不过根据项目中大家的需求做一些修改,因为我们将会主要处理图片和视频。
在初步了解Qt绘图相关的基础知识后,我们将开始学习用Qt做一个贪吃蛇小游戏。
不过在开始游戏之前,我们首先要了解Qt中的一个重要框架,叫Graphics View。
Graphics View是一个很常用的框架(贪吃蛇,俄罗斯方块等用Graphics View都是最好的方法...),甚至Linux的KDE桌面视图都是用它编写的。
Graphics View 分为三个部分:元素(item),场景(scene)以及视图(view)。
我们举一个很简单的例子:我们看到森林里有很多树,那么这个森林就是场景(scene),树是元素(item),你的眼睛就是视图(view)。我们可以在场景里种树,也就是把item通过add的方法置于场景,遮阳,在我们的视图(view)里面就会出现一棵树了。而实际上,我们也未必会一直站在同一个地方看树;当我们移动的时候,整个森林(scene)的场景在我们的视图(view)里边变化。而这在程序中对应着二维图的旋转,缩放等功能。
我们来看下面一这个代码:
int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); QGraphicsScene scene; scene.addRect(0,0,150,150); scene.setBackgroundBrush(QBrush(Qt::gray)); QGraphicsView view(&scene); view.rotate(30); view.setWindowTitle("Graphics View"); view.resize(200, 200); view.show(); return a.exec(); }在这里,我们构建了一个场景(scene)和一个视图(view),同时,我们在视图上做了旋转,那么它输出的结果就是一个旋转的正方形,如下图:
这种方式在OpenGL以及其他三维软件API中也很常用,想想大家完第一视角的游戏(比如‘我的世界’),无非就是建立一个场景(世界),修改场景中的元素(比如盖房子),然后移动视角,遮阳在场景中就能呈现我们的世界。
大家也可以通过以上代码,简单做几个小程序,或者采用简单的形状,通过代码画一幅简单的画。
相关文章推荐
- Qt图形简单绘制(4)-贪吃蛇小游戏(2)
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- Qt 2D绘图(一)绘制简单图形
- [Qt教程] 第11篇 2D绘图(一)绘制简单图形
- 十一、Qt 2D绘图(一)绘制简单图形
- Qt实现简单图形绘制,双缓冲机制和显示SVG格式图片
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- Qt的图形绘制简单学习(2)
- MFC简单自学图形绘制2
- 简单图形编程的学习(2)---点 (Qt实现)
- Python游戏开发-05-提高游戏颜值-04-绘制简单图形
- QT5 OpenGL (四, 绘制立体图形)
- 简单图形绘制
- OpenGL(一)二维图形的绘制:一个简单的绘制矩形程序
- 利用QT中Qpainter画点,直线,弧线等简单图形
- QT 基本图形绘制
- OpenGL_Qt学习笔记之_04(3D图形的绘制和旋转)
- JS实现简单的贪吃蛇小游戏
- Android中使用Canvas绘制简单的图形(二) 进阶 绘制钟表