pygame全屏模式退出

2024-01-09

我正在运行这个小程序,它以全屏模式将图像加载到屏幕上,但是一旦加载,程序将不会通过任何组合键退出,我最终不得不重置计算机才能完成我正在做的任何其他事情。

import pygame

pygame.init()
WIDTH=1366; HEIGHT=768
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
pygame.display.set_caption('Katso')
PENGUIN = pygame.image.load("assets/download.png")
MICKEY = pygame.image.load("assets/mickey.jpg")
ADV = pygame.image.load("assets/adv.jpg")
CAT = pygame.image.load("assets/cat.jpg")
FLV = pygame.image.load("assets/flavours.jpg")
HALL = pygame.image.load("assets/hallway.jpg")
x = 0; # x coordnate of image
y = 0; # y coordinate of image
screen.blit(PENGUIN,(x,y)); pygame.display.update()
running = True
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.QUIT()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_1:
            screen.blit(MICKEY,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_2:
            screen.blit(PENGUIN,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_3:
            screen.blit(ADV,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_4:
            screen.blit(FLV,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_5:
            screen.blit(CAT,(x,y)); pygame.display.update()
        if event.type == pygame.KEYDOWN and event.key == pygame.K_6:
            screen.blit(HALL,(x,y));pygame.display.update()
pygame.QUIT()

pygame.QUIT是一个常量值(整数),用于检查事件的类型。要取消初始化 pygame,你必须调用pygame.quit()(小写),但这实际上并不会退出你的游戏,而只是取消初始化加载的 pygame 模块。我认为如果您在 IDLE 等基于 tkinter 的编辑器中开始游戏,则只需要关闭窗口。

要退出游戏,你可以跳出 while 循环,让 Python 像往常一样结束程序,或者你可以调用sys.exit().

Since you can't click on the 'x' button to close the window in fullscreen mode, you have to use a key like Esc.

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False  # Set running to False to end the while loop.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pygame全屏模式退出 的相关文章

随机推荐

  • 是否可以为每个类创建一个空对象? (当然要借助工具)

    The 空对象模式 http en wikipedia org wiki Null Object pattern旨在成为 safe 中立 行为 这个想法是创建一个不执行任何操作的对象 但也不抛出 NullPointerException 例
  • 使用scrapy Spider捕获http状态码

    我是 scrapy 新手 我正在编写一个蜘蛛程序 旨在检查一长串服务器状态代码的 URL 并在适当的情况下检查它们被重定向到的 URL 重要的是 如果存在重定向链 我需要知道每次跳转的状态代码和 url 我正在使用 response met
  • 使用networkStream的Image.FromStream

    我正在尝试使用该方法FromStream班级的Image设置使用网络流通过 tcp 连接接收的图像 这是两侧代码 Server TcpListener server new TcpListener IPAddress Any 34567 s
  • 如何使用 javascript、jquery 等创建打印模式

    假设我在几页上有一个打印按钮 每当用户单击时 它将在模式中弹出内容并可以从那里打印 任何想法将不胜感激 我有几页带有打印按钮 当用户单击它时 需要将该内容拉入模式中 然后从该模式中打印 我现在无法为您编写代码 但我可以让您走上正轨 你需要使
  • 为什么我的实体不能与 SpringBoot 一起工作,尽管它可以在没有 SpringBoot 的情况下工作

    请注意 在调查时这个问题 https stackoverflow com questions 52799706 springboot not an entity noredirect 1 comment92527948 52799706我更
  • JavaFX 在多个页面上打印表格视图

    所以 我的问题是我需要打印 tableview 的内容 但其中有太多项目 它只打印其中的前 23 个 我已经在这里找到了一些解决方案 不幸的是它们没有多大帮助 这是我的打印方法 FXML private void printIt Print
  • 如何检测何时发生全屏事件(按 f11 键)[重复]

    这个问题在这里已经有答案了 如何在按下 f11 键时检测全屏事件何时发生 如果发生这种情况 则意味着屏幕处于全屏模式 然后显示警报 不使用键码比较 请给我一种不同的方法来执行此操作 mozilla proposal element requ
  • PyQt QtWebChannel:从 JavaScript 调用 Python 函数

    我正在尝试 使用 Qt 类QWebEngineView and QWebChannel在 HTML 页面和 Python 脚本之间建立简单的连接 目标只是执行foo 当标题 h2 被点击 import sys from PyQt5 QtCo
  • 项目中尚未使用旧版 People API

    我在调用 google 登录 API 时遇到错误 错误是 旧版 People API 之前未在项目 中使用过或已被禁用 但人员 API 已启用 如何解决这个错误 这是我的 google api url 这足以解决我的问题 if empty
  • 如何在 ruby​​ 中清理格式错误的 xml

    我在整理从以下网站返回的格式错误的 XML 代码时遇到问题SEC 的 edgar 数据库 http www sec gov edgar shtml 由于某种原因 他们形成了可怕的 xml 包含任何类型字符串的标签都不是封闭的 它实际上可以在
  • Qt 5 无法部署在 SnowLeopard 上

    我遇到的问题是我的应用程序无法在 10 6 Snow Leopard 上运行 我使用这些参数进行编译 qmake LSPRO pro r spec macx clang CONFIG release CONFIG x86 64 在我的 Pr
  • WatiN:CurrentThread 需要将其 ApartmentState 设置为 ApartmentState.STA 才能自动化 Internet Explorer

    我正在从 C Windows 服务调用 WatiN 当我调用 WatiN 时 它抛出以下异常 CurrentThread 需要将其 ApartmentState 设置为 ApartmentState STA 才能自动化 Internet E
  • 同一线程上的 WebView 方法错误

    我有一个 android 程序 Webview 中的 Java html 我可以从 javascript 调用 Java 代码 但相反的方式停止工作 在 Eclipse 中更新后 这就是我想做的 制作一个网络视图 有效 在 javascri
  • SimpleXML 如何在节点中添加子节点?

    当我打电话时 addChild actor John Doe 这个孩子是最后添加的 有没有办法让这个新孩子成为第一个孩子 正如前面提到的 SimpleXML 不支持这一点 因此您必须使用 DOM 我的建议如下 使用您需要在程序中使用的任何内
  • ios - 从手指移动画笔

    我想在我的 iPad 应用程序中画画 如下图所示 in my app i have placed a image and while moving the finger touch movement i am repeating the i
  • 如何从列表中获取特定项目?

    我有一个案例类别的列表 我想从列表中获取特定项目 I do myList filter id myobject id 0 当filter实际上返回一些东西 但是 当过滤器不返回任何内容时 我会得到索引越界异常 scala gt case c
  • 为什么需要使用 EntryPoint 属性定义 DLLImport

    在经历的同时SWig http www swig org 生成的包装器中 我发现 PInvoke 没有定义任何入口点 但有些地方确实有入口点 那么它们之间有什么区别呢 什么时候需要定义 EntryPoint 什么时候不需要 定义无Entry
  • 按钮图像距离按钮顶部太远;太靠近按钮底部

    我正在 VB NET 2005 中开发 Windows 窗体 我想要一些带有图像的按钮 我说的是普通的 普通的 System Windows Forms Button 我已按照我想要的方式设置了所有内容 但图像在按钮上显示得太低 因此图标的
  • 如何打包不是使用 vagrant up 命令创建的现有虚拟机?

    我安装了 VirtualBox 然后在其中安装了 Ubuntu 12 10 Server Base OS 我在里面安装了各种php包和其他包 我的朋友推荐我使用 Vagrant 这样我就可以轻松地与我的队友分享我的设置 因为我当前的 Vir
  • pygame全屏模式退出

    我正在运行这个小程序 它以全屏模式将图像加载到屏幕上 但是一旦加载 程序将不会通过任何组合键退出 我最终不得不重置计算机才能完成我正在做的任何其他事情 import pygame pygame init WIDTH 1366 HEIGHT