python实现敲木鱼加功德包含加音效和敲击动作(附demo)
0、界面展示及视频演示
这个是界面:
这个是地址:【用python做一个敲木鱼试试-哔哩哔哩】 https://www.bilibili.com/video/BV1Vy4y1A7r5/
打包好的exe及源码和其他文件在这里,听到有说美化和尚和加倍功德,自己改和自己P吧 https://pan.baidu.com/s/1DCbo4hvN1KxGlSsr4EBqAw?pwd=gfqt
1、先做一个基本界面
import tkinter from PIL import Image, ImageTk # pip install pillow # 界面 top=tkinter.Tk() top.title('敲木鱼加功德') top.geometry('410x400') top.configure(bg='black') # 准备图片 qiaomuyutupian=ImageTk.PhotoImage(file='敲木鱼.jpg') # 转化为tkinter可以使用的图片 # 初始化功德 gongde=0 # 标签 label1=tkinter.Label(top,text='积攒功德:'+str(gongde),font=('华文新魏',15),fg='white',bg='black',width=18) label1.place(x=100,y=70) # 方法 def qiaomuyu(): # 设gongde为全局变量,并更新标签 global gongde gongde=gongde+1 # 按钮 button1=tkinter.Button(top,image=qiaomuyutupian,relief='ridge',command=qiaomuyu) button1.place(x=100,y=100) top.mainloop()
2、用pygame添加声音最简单,并用多线程启动(这样不用等声音播放完就可以继续按了)
import tkinter import threading import pygame # pip install pygame from PIL import Image, ImageTk # pip install pillow # 准备音频 pygame.mixer.init() pygame.mixer.music.load('敲.mp3') # 界面 top=tkinter.Tk() top.title('敲木鱼加功德') top.geometry('410x400') top.configure(bg='black') # 准备图片 qiaomuyutupian=ImageTk.PhotoImage(file='敲木鱼.jpg') # 转化为tkinter可以使用的图片 # 初始化功德 gongde=0 # 标签 label1=tkinter.Label(top,text='积攒功德:'+str(gongde),font=('华文新魏',15),fg='white',bg='black',width=18) label1.place(x=100,y=70) # 方法 def qiaomuyu(): # 设gongde为全局变量,并更新标签 global gongde gongde=gongde+1 label1.config(text='积攒功德:'+str(gongde)) # 多线程启动解决延时,虽然延迟足够小,但为了更有效果 th=threading.Thread(target=pygame.mixer.music.play) th.start() # 按钮 button1=tkinter.Button(top,image=qiaomuyutupian,relief='ridge',command=qiaomuyu) button1.place(x=100,y=100) top.mainloop()
3、添加上浮移动的文字。
由于实在不能把控件设置成透明色,所以用个背景色为黑色的Text控件,只要逐行删除就有效果了,同样多线程启动
import time import tkinter import threading import pygame # pip install pygame from PIL import Image, ImageTk # pip install pillow # 准备音频 pygame.mixer.init() pygame.mixer.music.load('敲.mp3') # 界面 top=tkinter.Tk() top.title('敲木鱼加功德') top.geometry('410x400') top.configure(bg='black') # 准备图片 qiaomuyutupian=ImageTk.PhotoImage(file='敲木鱼.jpg') # 转化为tkinter可以使用的图片 # 初始化功德 gongde=0 # 标签 label1=tkinter.Label(top,text='积攒功德:'+str(gongde),font=('华文新魏',15),fg='white',bg='black',width=18) label1.place(x=100,y=70) def showplus(): for i in range(4): text1.insert('insert',' \n') else: text1.insert('insert',' 功德 + 1') for i in range(5): time.sleep(0.03) text1.delete(1.0, 2.0) # 方法 def qiaomuyu(): # 设gongde为全局变量,并更新标签 global gongde gongde=gongde+1 label1.config(text='积攒功德:'+str(gongde)) # 多线程启动解决延时,虽然延迟足够小,但为了更有效果 th=threading.Thread(target=pygame.mixer.music.play) th.start() th2=threading.Thread(target=showplus) th2.start() # 按钮 button1=tkinter.Button(top,image=qiaomuyutupian,relief='ridge',command=qiaomuyu) button1.place(x=100,y=100) text1=tkinter.Text(top,width=10,height=5,bg='black',bd=0,foreground='white') text1.place(x=125,y=115) top.mainloop()
4、P一张敲到木鱼的图片,两张图片来回切换就有动画效果了,同样多线程启动
import time import tkinter import threading import pygame # pip install pygame from PIL import Image, ImageTk # pip install pillow # 准备音频 pygame.mixer.init() pygame.mixer.music.load('敲.mp3') # 界面 top=tkinter.Tk() top.title('敲木鱼加功德') top.geometry('410x400') top.configure(bg='black') # 准备图片 qiaomuyutupian=ImageTk.PhotoImage(file='敲木鱼.jpg') # 转化为tkinter可以使用的图片 qiaomuyutupian2=ImageTk.PhotoImage(file='敲木鱼2.jpg') # 转化为tkinter可以使用的图片 # 初始化功德 gongde=0 # 标签 label1=tkinter.Label(top,text='积攒功德:'+str(gongde),font=('华文新魏',15),fg='white',bg='black',width=18) label1.place(x=100,y=70) def showplus(): for i in range(4): text1.insert('insert',' \n') else: text1.insert('insert',' 功德 + 1') for i in range(5): time.sleep(0.03) text1.delete(1.0, 2.0) def changetupian(): button1.config(image=qiaomuyutupian2) time.sleep(0.1) button1.config(image=qiaomuyutupian) # 方法 def qiaomuyu(): # 设gongde为全局变量,并更新标签 global gongde gongde=gongde+1 label1.config(text='积攒功德:'+str(gongde)) # 多线程启动解决延时,虽然延迟足够小,但为了更有效果 th=threading.Thread(target=pygame.mixer.music.play) th.start() th2=threading.Thread(target=showplus) th2.start() th3=threading.Thread(target=changetupian) th3.start() # 按钮 button1=tkinter.Button(top,image=qiaomuyutupian,relief='ridge',command=qiaomuyu) button1.place(x=100,y=100) text1=tkinter.Text(top,width=10,height=5,bg='black',bd=0,foreground='white') text1.place(x=125,y=115) top.mainloop()
到此这篇关于python实现敲木鱼加功德包含加音效和敲击动作(附demo)的文章就介绍到这了,更多相关python 敲木鱼加功德内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python报错:NameError: name ‘xxx‘ is not defined的解决办法
这篇文章主要给大家介绍了关于Python报错:NameError: name ‘xxx‘ is not defined的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下2024-06-06pytorch torchvision.ImageFolder的用法介绍
今天小编就为大家分享一篇pytorch torchvision.ImageFolder的用法介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-02-02
最新评论