Pygame:摩擦摩擦 – 零基础入门学习Python088

Pygame:摩擦摩擦

 

让编程改变世界

Change the world by program


 

设置鼠标的位置

 

有了背景音乐、有了小球、有了碰撞检测,接下来我们需要的就是“摩擦摩擦”了。

这有一块玻璃面板的图片:

glass

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

自定义鼠标光标

 

作为一个游戏,我们希望鼠标的光标可以更漂亮一些,所以我们需要替换掉原来“黑土小”的箭头光标。我们这里直接用一个小手的图片来替换掉原来的光标。做法就是使用mouse模块的set_visible()方法将原来的光标设置为“不可见”,然后在鼠标的当前位置上绘制小手的图片。

hand

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

让小球响应光标的移动频率

 

接下来我们要让小球可以响应鼠标一定频率的“摩擦摩擦”停下来并变成绿色。那好,现在的问题是如何响应?

我们知道鼠标的移动会不断产生事件,所以我们就可以利用这一点,让每一个小球响应 1 秒钟时间内不同数量的事件。

 

做法如下:

1. 为每个小球设定一个不同的目标;

2. 创建一个 motion 变量来记录鼠标每 1 秒钟产生事件数量;

3. 为小球添加一个 check() 方法,用于判断鼠标在 1 秒钟时间内产生的事件数量匹配是否此目标;

4. 添加一个自定义事件,每 1 秒钟触发 1 次。调用每个小球的 check() 检测是 motion 的值是否匹配某一个小球的目标,并将 motion 重新初始化,以便记录下 1 秒的鼠标事件数量;

5. 小球应该添加一个 control 属性,用于记录当前的状态(绿色->玩家控制 or 灰色->随机移动);

6. 通过检查 control 属性决定绘制什么颜色的小球。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 


为您推荐

报歉!评论已关闭.