吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2672|回复: 48
收起左侧

[Python 原创] python写一个敲木鱼加功德(加音效和敲击动作)

  [复制链接]
xhtdtk 发表于 2023-11-1 14:24
本帖最后由 xhtdtk 于 2023-11-1 15:20 编辑

0、界面展示及视频演示


这个是界面:
微信截图_20231101142139.png


这个是地址:【用python做一个敲木鱼试试-哔哩哔哩】 https://b23.tv/wRJKY0R

打包好的exe及源码和其他文件在这里,听到有说美化和尚和加倍功德,自己改和自己P吧 https://www.123pan.com/s/loCcVv-uyCSv.html

1、先做一个基本界面


[Asm] 纯文本查看 复制代码
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添加声音最简单,并用多线程启动(这样不用等声音播放完就可以继续按了)


[Python] 纯文本查看 复制代码
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控件,只要逐行删除就有效果了,同样多线程启动


[Python] 纯文本查看 复制代码
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一张敲到木鱼的图片,两张图片来回切换就有动画效果了,同样多线程启动


[Python] 纯文本查看 复制代码
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()


免费评分

参与人数 9吾爱币 +14 热心值 +8 收起 理由
dsinjok + 1 我很赞同!
jamessteed + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tosm + 1 + 1 我很赞同!
edge + 1 + 1 谢谢@Thanks!
kinger2020 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
echoaku + 1 + 1 谢谢@Thanks!
peiki + 1 我很赞同!
ingdear + 1 + 1 佛主看了都流泪。
wushaominkk + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

rooob 发表于 2023-11-2 09:30
建议再增加三句:
[Python] 纯文本查看 复制代码
top.overrideredirect(True)
top.wm_attributes('-transparentcolor', 'black')
top.attributes('-topmost', 'true')

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xhtdtk + 1 + 1 我很赞同!

查看全部评分

longhua23 发表于 2023-11-3 18:08
加了一个自动积德的按钮,不过使用whil True 会卡死,不知道为啥。有大神帮忙看下吗

[Python] 纯文本查看 复制代码
import tkinter
from PIL import Image,ImageTk
import threading
import pygame
import time

'''创建一个音乐文件'''
pygame.mixer.init()
pygame.mixer.music.load('敲.mp3')  #'加载音乐
#pygame.mixer.music.play()  开始播放,后面关联到点击事件上进行执行


主窗口=tkinter.Tk()
主窗口.title('我是窗口名称')
主窗口.geometry('410x400')
主窗口.configure(bg='black')

木鱼图=ImageTk.PhotoImage(file='敲木鱼.jpg')
木鱼图2=ImageTk.PhotoImage(file='敲木鱼2.jpg')

功德=0

标签1=tkinter.Label(主窗口,text='积攒功德'+str(功德),font=('龙体2500',15),fg='white', bg='black', width=18)
标签1.place(x=100,y=70)

手动积德=tkinter.Label(主窗口,text='手动\n积德',font=('龙体2500',15),fg='black', bg='white', width=8,height=2)
手动积德.place(x=250,y=320)

自动积德=tkinter.Label(主窗口,text='自动\n积德',font=('龙体2500',15),fg='black', bg='white', width=8,height=2)
自动积德.place(x=80,y=320)

重新积德=tkinter.Label(主窗口,text='重新\n积德',font=('龙体2500',15),fg='black', bg='white', width=8,height=2)
重新积德.place(x=165,y=320)


def 木鱼动画():
    按钮1.configure(image=木鱼图2)
    time.sleep(0.1)
    按钮1.configure(image=木鱼图)

def 显示增加():
    for i in range(4):
        文本1.insert('insert', ' \n')
    else:
        文本1.insert('insert',' 功德 + 1')
    for i in range(5):
        time.sleep(0.04)
        文本1.delete(1.0,2.0)

def 敲木鱼():
    global 功德
    功德+=1
    标签1.configure(text='积攒功德'+str(功德))
    #pygame.mixer.music.play()
    th=threading.Thread(target=pygame.mixer.music.play)
    th.start()

    th2=threading.Thread(target=显示增加)
    th2.start()

    th3=threading.Thread(target=木鱼动画)
    th3.start()

def 自动敲木鱼():
    global 自动开关
    if not 自动开关:
        手动积德.unbind('<Button-1>')  # 解绑手动积德按钮的点击事件
        自动积德.unbind('<Button-1>')  # 解绑自动积德按钮的点击事件
        重新积德.unbind('<Button-1>')  # 解绑重新积德按钮的点击事件
        自动积德.configure(bg='gray')  # 修改自动积德按钮的背景颜色为灰色
        自动积德.configure(state='disabled')  # 禁用自动积德按钮
        自动开关 = True

        def 敲木鱼操作():
            if 自动开关:
                if 功德 < 100:
                    敲木鱼()  # 执行一次敲木鱼操作
                    主窗口.after(600, 敲木鱼操作)
        主窗口.after(600,敲木鱼操作)

def 重置():
    global 功德
    功德 = 0
    标签1.configure(text='积攒功德' + str(功德))

按钮1=tkinter.Button(主窗口,image=木鱼图,relief='solid',command=敲木鱼)
按钮1.place(x=100,y=100)

文本1=tkinter.Text(主窗口,width=10, height=4.3, bg='black', bd=0, foreground='white')
文本1.place(x=123, y=105)

手动积德.bind('<Button-1>',lambda event:敲木鱼())
自动积德.bind('<Button-1>',lambda event:自动敲木鱼())
重新积德.bind('<Button-1>',lambda event:重置())
自动开关 = False

def 关闭窗口():
    主窗口.destroy()
主窗口.protocol('WM_DELETE_WINDOW',关闭窗口)

主窗口.mainloop() #运行主窗口


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
xhtdtk + 1 + 1 用心讨论,共获提升!

查看全部评分

Hwai 发表于 2023-11-1 14:41
额微粒波地 发表于 2023-11-1 14:44
Hwai 发表于 2023-11-1 14:41
再写个自动脚本,挂机加功德

直接while true 哈哈
pxhzai 发表于 2023-11-1 14:46
都电子木鱼了,还不搞个超级加倍?
我要比佛祖功德高!
Trojians 发表于 2023-11-1 14:53
哈哈哈,功能无量!我去试试,感谢楼主!
狂笑一君 发表于 2023-11-1 14:55
pxhzai 发表于 2023-11-1 14:46
都电子木鱼了,还不搞个超级加倍?
我要比佛祖功德高!

你这样子不怕佛祖收你做小弟?
xuanqi521 发表于 2023-11-1 15:07
小和尚美化下
k6661 发表于 2023-11-1 15:11
人生苦短,我用Python,敲电子木鱼,享赛博功德! &#8203;

 楼主| xhtdtk 发表于 2023-11-1 15:21
pxhzai 发表于 2023-11-1 14:46
都电子木鱼了,还不搞个超级加倍?
我要比佛祖功德高!

我刚刚把其他文件源码和打包的exe放出来了,祝你功德无量
 楼主| xhtdtk 发表于 2023-11-1 15:22

我刚刚把其他文件源码和打包的exe放出来了,在视频地址下面,和尚可以自己用美图秀秀P了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表