小学生Python编程 —— 欢乐钢琴

孩子的又一作品,欢乐钢琴

from pgzrun import *

WIDTH = 960
HEIGHT = 720

#{
o = 0
name = "s"
song = Actor(name + str(o) + ".png", [480, 180])
a_press = False
#动效函数
def change():
    global o
    song.image = name + str(o) + ".png"
    o = o + 1
    if o > 39:
        o = 0
#}
bg = Actor("bg.png")
def draw():
    bg.draw()
    #{
    song.draw()#}
    
def play(n):
    music.play_once(n + ".mp3")
    bg.image = n + ".png"

note = []
def on_key_down():
    
    if keyboard.k_1 == True:
        play("1")
        note.append("1")
    elif keyboard.k_2 == True:
        play("2")
        note.append("2")
    #{
    elif keyboard.k_3 == True:
        play("3")
        note.append("3")
    elif keyboard.k_4 == True:
        play("4")
        note.append("4")
    elif keyboard.k_5 == True:
        play("5")
        note.append("5")
    elif keyboard.k_6 == True:
        play("6")
        note.append("6")
    elif keyboard.k_7 == True:
        play("7")
        note.append("7")
    elif keyboard.k_8 == True:
        play("8")
        note.append("8")
    #}
    
    elif keyboard.a == True:
        clock.schedule_interval(play_again, 0.6)
       
        #{
        #按下a后,调用动效函数change
        global o, a_press, name
        o = 0
        a_press = True
        name = "dance"
        clock.schedule_interval(change, 0.03)
        #}
        
    elif keyboard.s == True:
        clock.unschedule(play_again)
    
    #按x键保存
    elif keyboard.x == True:
        get_music("my_music") #可填入自己取的音乐名

def on_key_up():
    bg.image = "bg.png"

num = 0
def play_again():
    global num
    n = note[num]
    play(n)
    num = num + 1
    
    if num > len(note) -1:
        num = 0
    
#{ 
# 鼠标点击曲谱,切换
def on_mouse_down(pos):
    global o
    if song.collidepoint(pos):
        if not a_press:
            o = o + 1
            if o > 24:
                o = 0
            song.image = name + str(o) + ".png"
            
#按弹奏顺序读取单个音符文件,写入命名为name的文件            
def get_music(name):
    f_read = bytes()
    for n in note:
        with open(f"music/m{n}.mp3","rb") as f1:
            f_read += f1.read()
        with open(f"music/{name}.mp3","wb") as f2:
            f2.write(f_read)
#}

go()

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息化未来

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值