我正在为一所大学做一个简单的口袋妖怪战斗类型的项目,但我想通过添加每次单击按钮时播放的 2 秒小动画来添加更多视觉效果。我考虑过使用一个顶级窗口来使用 tkvideo 播放视频。它可以工作,但我不知道如何在 2 秒后或循环播放一次视频后关闭它。
有人可以给新手提供建议吗?附:我使用 Toplevel 是因为已经有一个主根窗口,玩家可以在其中单击按钮。
from tkinter import *
from tkvideo import tkvideo
window = tkinter.Toplevel()
window.title("Video PLayer")
lblVideo = Label(window)
lblVideo.pack()
player = tkvideo("Hero_Slash_Attack_Animation.mp4", lblVideo, loop=1, size=(500,500),)
player.play()
window.mainloop()
上面的代码是我用来播放辅助视频窗口的代码。但我不知道如何关闭该特定的顶层。我尝试了 w.destroy() 但它没有删除它。相反,视频只是不断循环并停留。
tkVideoPlayer
。
import tkinter as tk
from tkVideoPlayer import TkinterVideo
root = tk.Tk()
def close_video(win):
if win.winfo_exists():
win.destroy()
def create_window():
window = tk.Toplevel()
window.lift()
player = TkinterVideo(master=window, scaled=True)
player.load(r"video.mp4")
window.after(2000, lambda: close_video(window)) # close win after 2 sec
player.bind("<<Ended>>", lambda: close_video(window)) # close the win if video ended
player.pack(expand=True, fill="both")
player.play() # play the video
tk.Button(root, text="Show Video", command=create_window).pack()
root.mainloop()