微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将PyGame屏幕叠加在顶部?

如何解决如何将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/14335807https://stackoverflow.com/a/37001979/14335807中的代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。