python实现敲木鱼加功德包含加音效和敲击动作(附demo)
更新时间:2023年11月03日 12:01:35 作者:xhtdtk
敲木鱼加功德是一款很火的动画,本文主要介绍了python实现敲木鱼加功德包含加音效和敲击动作,具有一定的参考价值,感兴趣的可以了解一下
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函数中apply、map、applymap的区别
这篇文章主要介绍了 Python函数中apply、map、applymap的区别 ,文章围绕 Python函数中apply、map、applymap的相关资料展开详细内容,需要的朋友可以参考一下2021-11-11
最新评论