都什么年代还在敲传统木鱼?Python50行代码教你做一个自己的电子木鱼~

背景

最近在刷某音的时,发现一款电子木鱼非常的火爆。这款软件可以说是积功德的神器,敲一下功德+1,敲一下+1。成功的吸引了我的注意,便有了这个迷你项目。成功的复刻了其加功德的主要功能,并且可以根据自己的喜好,添加喜好的音乐。

效果展示

点击木鱼,功德自动上升+1。。。。。。。

代码

本次的这个mini小电子木鱼主要采用了pygame这个包来实现点击加功德这个功能。

素材加载的实现部分使用了pygame.image.load将素材引入

img_gd=pygame.image.load("image/gongde.jpg")
img_muyu=pygame.image.load("image/muyu.jpg")
bc=pygame.image.load("image/bc.jpg")

move移动函数实现功德图片向上飘:

完整代码

import pygame
import time
pygame.mixer.init()
#设置窗口大小,以及名称
screen=pygame.display.set_mode((1000,800))
pygame.display.set_caption("功德加一器")
#加载各种图片(功德,木鱼,背景)
#也可以加载敲击音乐,可以根据喜好添加(由于没有合适的声音,这里我就不添加了)
#敲击音乐名称 = pygame.mixer.Sound('文件位置')
img_gd=pygame.image.load("image/gongde.jpg")
img_muyu=pygame.image.load("image/muyu.jpg")
bc=pygame.image.load("image/bc.jpg")
#设置功德显示位置,以及设置木鱼图片的初始位置
rect1=img_gd.get_rect().move(400,150)
rect2=img_muyu.get_rect().move(300, 200)
#设置功德上升的速度,以及控制功德移动
rect_move=rect1
speed=[0,-20] 
# 显示木鱼
screen.blit(img_muyu, rect2)
#设置移动函数
def move(rect_move):
    i = 5
    while (i> 0):
    rect_init=rect_move
    rect_move=rect_move.move(speed)
    screen.blit(bc, rect_init)
    screen.blit(img_gd, rect_move)
    pygame.display.flip()
    time.sleep(0.1)
    i=i-1
    screen.blit(bc, rect_move)
    
while True:
    for event in pygame.event.get():
if pygame.mouse.get_focused():
    # 获取光标所在的位置
    ball_x, ball_y = pygame.mouse.get_pos()
    #检测鼠标点击事件
if pygame.Rect.collidepoint(rect2, (ball_x, ball_y)) and event.type==pygame.MOUSEBUTTONDOWN:
    #想在敲击时有声音,添加以下注解代码即可:
    #刚刚加载的音乐的名称.play
    move(rect_move)
if event.type==pygame.QUIT:
    pygame.quit()
    pygame.display.flip()

素材

把素材放在image文件夹中,命名为标题名字,就可以行程序。

muyu.jpg

40283085ccf74572ba3788dca32c91bb.jpeg

gongde.jpg

​​​​​​​​​​​​​​​​​​​​​​​​​​​​12eca18313cd45d98339a3d80183c773.jpeg

bc.jpg

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​c10e31ede972492ebe79a21f857ad70a.jpeg
最后,感谢每一个认真阅读我文章的人,礼尚往来总是要有的,下面资料虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值