如何使快速跑计时器保持在最前面



我为《我的世界》制作了一个游戏内计时器,可以在快速奔跑时使用,效果很好,但有一个问题是,当我让《我的时代》填满我的整个屏幕而不是全屏时,计时器就会消失。

我知道会发生这种情况,我想知道是否有可能修复并使pygame窗口显示在前面,即使它被您当前使用的应用程序阻止。

您可以使用Tkinter:执行此操作

这样,你就可以制作一个计时器:

  1. 总是放在前面
  2. 透明

此外,tkinter在标准库中。

你可以使用这个代码:

from tkinter import *
from threading import Thread
from time import time
tk = Tk()
tk.title('Timer')
tk.wm_attributes('-topmost', 1) # put the window to front
pause = True
start = time()
time_when_paused = time() # time displayed when in pause
def restart(): # restart to 0
global pause, start
pause = False
start = time()
def toggle_pause():
global pause, start, time_when_paused
pause = not pause
if pause:
time_when_paused = time() # update the time displayed
else:
start += time() - time_when_paused # forget the time passed in pause
def timer():
while True:
if pause:
label['text'] = '%.2f' %(time_when_paused - start) # %.2f for 2 decimals
label['fg'] = 'orange'
else:
label['text'] = '%.2f' %(time() - start)
label['fg'] = 'green'
label = Label(tk, '', font=('Helvetica', 30), fg='orange')
label.grid(columnspan=2) # display the timer
# buttons
restart_button = Button(tk, text='Restart', width=20, command=restart)
restart_button.grid(padx=5, pady=5)
pause_button = Button(tk, text='Pause', width=20, command=toggle_pause)
pause_button.grid(padx=(0, 5), column=1, row=1)
timer_thread = Thread(target=timer)
timer_thread.start() # put in a thread because of...
tk.mainloop() # ...this which acts like "while window is not closed"

最新更新