前文
疫情在家没事干?不如上网看一看!平时闲的没事的我最近沉浸在逛美食制作的视频当中,试图用为数不多的材料做出属于自己的那份美味。突然,我被其中一个视频的bgm钢琴曲迷住了,突然有了一种想弹钢琴的想法,可是又没有钢琴,那咋办呢。。。然后一个朋友就说了:“你个憨憨,按键盘不就好咯”,想了想,好像有这么几分道理,于是就想到了用pygame模块播放音频的方法制作这个钢琴小玩具。
PS:
首先呢,这肯定是会有一些小瑕疵的,充其量自己拿着玩,跟真的钢琴比手感肯定是差很多的。
正文:
一开始没有头绪是吧,我们就想想钢琴是怎样的一个东西——按键,然后出一个声音。那么我们是不是只需要写一个程序,将输入的按键与播放的声音绑定起来就可以了呢。
啊那么有的同学就会问了:老师,我们没有键盘怎么办呢,我想弄一个手机那样的虚拟按键行不行啊!
对于这个问题呢,我的回答是:自己优化去吧(一边玩蛋去)
那么我们有什么可以用的工具或者模块吗?有的,就是pygame这个模块。那么有的杠精同学可能又要问了:”这不是写游戏的吗?“ “诶对,我就把它当游戏来写”
#首先我们会用到三个模块:pygame、sys、time,
#pygame用作游戏运行的窗口创建和按键绑定、文件的读取,是主要部分
#sys用于窗口的正常退出,也就是只用一句sys.quit()而已
#time用于给两次按键输入一点间隔时间
import pygame
import sys
import time
from pygame.locals import *
#其中呢,locals存的就是pygame里按键的映射,就是按键的识别
简简单单的头文件,接下来我们先创建一些所需要的变量,比如创建的窗口大小啦,按键对应钢琴键盘的哪个音啦之类的,如下我就创建了一个宽300px,高200px的一个框作为游戏框,不然在桌面按键盘可能会不小心按到一些不太好的东西(指游戏),然后创了一个字典来存按键对应的音调
#不清楚按键有什么的话可以自行搜一下
keyDict={
K_1:"c",
K_2:"d",
K_3