本帖最后由 lightninng 于 2021-11-20 17:41 编辑
本篇开始使用PySide2库作为图形界面实现的方式,具体原因请参看1#楼最后面的说明
12 俄罗斯方块的PySide2实现
12.1理解游戏理解游戏就是搞清楚游戏实现的逻辑,以及方法。只有理解了这套逻辑和方法,在编写游戏遇到问题时,你才能知道如何判断问题出现的地方,才有可能解决问题,debug是编程里面最让人头疼的一环,所以理解游戏对我们来说是必要的。 首先,让我们来复习一下37#的内容:你小时候有没有玩过这样一种玩具:一块硬纸,一面画着一只鸟,一面画着一个笼子。硬纸下粘上一根细棒。用手来回转动细棒,让硬纸的两面快速交替出现,就会看见鸟被关在了笼子里。这种现象被称为视觉暂留,又称余晖效应。人眼的性质使得光信号在进入之后,会保持一小段时间,这段时间大约是 0.1~0.4 秒。电影、动画便是利用这种现象得以实现,把一幅幅静态画面快速连续播放,形成看上去连续的活动画面。游戏能动起来的原因就是因为视觉暂留效果。所以在每个游戏中都会有一个循环体,注释为“游戏主循环”,这就是游戏的主体部分。每次循环都相当于是一张静态的画面,程序一直运行,不停的重绘画面,画面就有了动态的效果。与动画不同,游戏中不仅要把一幅幅画面播放出来,还需要处理玩家的操作与游戏中内容的交互。所以在这个循环体中,还要去接收玩家的输入,以及处理游戏中的各种逻辑判断、运动、碰撞等等。(声明一下:这段话应该是我当年从别处粘贴来的)
|