我在蛇中做了一个游戏,当你输了的时候,它会关闭窗户,但不会关闭外壳。我将相同的代码复制粘贴到另一个程序中,该程序允许您通过按下一个按钮来执行此操作(请注意,我并没有为按钮使用tkinter模块,而只是使用pygame)。当我按下按钮时,窗口会关闭,但又会弹出。这两个程序的代码没有区别,所以我不明白哪里出了问题。
下面是我在我的蛇游戏中使用的代码,用于在不关闭shell的情况下关闭窗口:
if (x,y) in path:
print("You lose. Your length was", length)
pygame.quit(
我在youtube上找到了一个教程,那个家伙在运行这段代码:
import pygame
pygame.init()
win = pygame.display.set_mode((500, 500))
pygame.display.set_caption("Testing")
run = True
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
p
我刚刚开始理解通过函数抽象复杂内容的想法,所以我决定在Pygame中进行一些实践。
所以,这里的代码工作得很好,游戏窗口就在这里,您可以按X键关闭它:
#pygame initialization code and etc.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
#code for drawing stuff out
但是假设我想做一个函数来处理关闭窗口仅
我正在使用GUI运行Pygame窗口。例如,当用户单击GUI上的按钮时,将出现Pygame窗口。然而,当我想退出Pygame窗口时,我的GUI也退出了。我确信这是由以下几行代码造成的:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
sys.exit()退出所有内容,这就是为什么集成开发环境关闭并显示Pygame窗口的原因。但是我怎么才能只关闭Pygae窗口呢?我已经尝试过了:
for
我有一个小的计时器脚本,通过pygame窗口显示信息。我可以将其作为脚本很好地运行。当我使用pyinstaller将其转换为.exe时,它仍然运行良好,但当我通过按窗口顶部的"x“退出时,我得到一条错误消息"Failed to execute script myscript”。我假设这是我的结束代码的问题。
如果重要的话,我正在使用选项-F (生成单个文件)和-w (在没有控制台窗口的情况下运行)来运行pyinstaller
我已经向close代码中添加了新的参数,就像这里的其他线程中建议的那样。下面列出了我当前的退出代码。
for event in pygame.event.
我做了一个菜单屏幕,点击一个按钮就会在同一个窗口中找到一个不同的屏幕。
def main():
import pygame, random, time
pygame.init()
size=[800, 600]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("Game")
done=False
clock=pygame.time.Clock()
while done==False:
for event in pyg
这是你在游戏中可以做的最简单的代码。它所做的就是创建一个窗口并允许您关闭它。然而,我得到的错误pygame.error:视频系统没有初始化。我在网上搜索了这个,似乎大多数人都忘记打电话给pygame.init()了。我不知道为什么我会犯这个错误。
import pygame
pygame.init()
screen = pygame.display.set_mode((900,500))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygam
我是pygame的新手,我一直收到这个错误"for event in pygame.event.get():pygame.error: video system not initialized“这是我的代码: import pygame
pygame.init()
win = pygame.display.set_mode((500, 500))
run=True
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.quit
我的程序不仅使用Pygame,而且还使用Tkinter,所以我有一个tkinter窗口运行,而pygame窗口正在运行。通常的做法是,在common代码中执行sys.exit()以停止pygame.error: video system not initialized错误,以下面的代码片段为例。这方面的问题是,如果您不只是在运行游戏代码,这个“解决方案”将停止代码中的所有内容,而不是仅仅停止吡咯窗口。(FYI,这个错误并没有使程序崩溃或停止,所以它只是一个控制台的事情,但它仍然是恼人的)。
import pygame, sys
while True: # event loop
我正在使用Python3.4.0,我有MacOSX10.9.2。下面的代码以崇高文本的形式保存为sublimePygame。
import pygame, sys
from pygame.locals import *
pygame.init()
#set up the window
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Drawing')
# set up the colors
BLACK = ( 0, 0, 0)
WHITE = (255
我已经创建了一个脚本使用PYGAME动画的钟摆运动模拟。我想按下"q“键来停止模拟并关闭窗口。我尝试了许多不同的代码,但都返回了一些错误。代码中事件部分的最小版本是:
done = False
while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == KEYDOWN:
if event.key == K_t:
我有一个用Pygame循环编写的游戏,它当前绘制在pygame窗口中发生的所有事情。我现在想把这个窗口集成到一个更大的PySimpleGUI窗口中,以便在游戏周围有很好的功能。这个是可能的吗? 我尝试使用here中的代码。问题是我得到了这样的错误,它来自第25行的VIDEODRIVER: pygame.error: windib not available 我把它改成了“窗口”,但是Pygame窗口和PySimpleGUI窗口是分开的,是不同的窗口。 我可以把pygame循环作为PySimpleGUI中的一个窗口吗?谢谢。
有人能告诉我我做错了什么吗。我无法让我的愚蠢计划结束。它有一个旋转的圆圈(窗口),它不关闭退出或按键在空格键。
def visualize(self):
pygame.init()
main_surface = pygame.display.set_mode((1024, 768))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
break
if event.type