电子木鱼这么火?Python仅需50行代码实现(附代码,及素材)
背景
最近在刷某音的时,发现一款电子木鱼非常的火爆。这款软件可以说是积功德的神器,敲一下功德+1,敲一下+1。成功的吸引了我的注意,便有了这个迷你项目。成功的复刻了其加功德的主要功能,并且可以根据自己的喜好,添加喜好的音乐。
(如果喜欢这个木鱼,可以去应用商店下载木鱼app支持创作和开发这款app的开发人员)
(作者如果觉得我这玩意侵权了,我立马删,仅供学习python使用,不做商业用途)
效果展示
点击木鱼,功德自动上升+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
gongde.jpg
bc.jpg