如何解决如何将PyGame屏幕叠加在顶部?
如何在顶部保留全屏PyGame窗口?
我在下面编写了一个简单的程序,该程序创建屏幕叠加层并在其上绘制一个圆圈。可以点击覆盖层,并且可以与覆盖层后面的内容进行交互。
import pygame
import win32api
import win32con
import win32gui
pygame.init()
screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN)
transparent = (74,65,42)
window_info = pygame.display.get_wm_info()["window"]
win32gui.SetwindowLong(window_info,win32con.GWL_EXSTYLE,win32gui.getwindowlong(window_info,win32con.GWL_EXSTYLE) | win32con.WS_EX_layered)
win32gui.SetlayeredWindowAttributes(window_info,win32api.RGB(*transparent),win32con.LWA_COLORKEY)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RCTRL:
running = False
screen.fill(transparent)
pygame.draw.circle(screen,(255,255,255),(150,150),75)
pygame.display.flip()
pygame.quit()
我的问题是,当我与覆盖层后面的窗口交互时,它将覆盖层移到后面。我希望能够将叠加层固定在顶部,但仍然能够与背景项进行交互。
我尝试使用win32gui的功能,并尝试了https://stackoverflow.com/a/25383929/14335807和https://stackoverflow.com/a/37001979/14335807中的代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。