我的程序不仅使用Pygame,而且还使用Tkinter,所以我有一个tkinter窗口运行,而pygame窗口正在运行。通常的做法是,在common代码中执行sys.exit()以停止pygame.error: video system not initialized错误,以下面的代码片段为例。这方面的问题是,如果您不只是在运行游戏代码,这个“解决方案”将停止代码中的所有内容,而不是仅仅停止吡咯窗口。(FYI,这个错误并没有使程序崩溃或停止,所以它只是一个控制台的事情,但它仍然是恼人的)。
import pygame, sys
while True: # event loop
我已经安装了pygame和numpy,它们似乎都在python shell的win10上工作:
import pygame
(工作中)
放入一个脚本:
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Hello World!')
while True: # main game loop
for event in pygame.eve
我已经做了一个使用Pygame的python程序。不知怎么的,按红十字会的时候我关不上窗。我试过使用Command+Q,但它不能很好地工作。我必须停止空闲(我的python解释器)来关闭窗口。有没有其他方法可以通过按右上角的红色“x”来关闭窗口? 我的代码: import pygame
import sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((800,800))
while 1:
pygame.display.update()
for event i
我正在写一个程序来和电脑下国际象棋。我有一个游戏窗口,显示棋盘,让你选择你的移动。一旦你玩了你的移动引擎开始计算移动的树,以找到最佳的移动。当它完成的时候,它会用它的动作重放一遍。问题是,当引擎“思考”时,Pygame窗口有一段时间没有更新(它可以是很多,甚至一分钟或更长时间)。操作系统在不活动5秒后提示窗口上的消息“未响应”。下面是一个最低可重现性的例子:
import pygame
from time import sleep
def engine_play():
# Here the engine searches for the best move for some time
我有一个问题,我有一个按钮,当我点击这个按钮时,我增加了我的健康宽度+1。问题是当我用鼠标按住这个按钮时,我想让健康回复继续增加它的宽度,即使我在窗口周围移动鼠标,但当我移动鼠标绕着我的窗口时,它就停止添加了。
我做的,所以如果我停止按住鼠标,应该停止添加它,但是它也会检测我移动鼠标的时间,以及如何修复它。
在我的主循环中,我说如果我的鼠标超过了速度按钮,它就会继续添加,当我不再点击这个按钮时,它应该停止添加,但是当我移动鼠标时,它也停止了我的健康。
# our main loop
ble = False
run = True
while run:
for event in pygam
我目前正在玩游戏中的AI与AI的游戏,我只是完成了它,但是其中的一个功能并没有像预期的那样工作。如下所示(在pygame.event.get()循环中):
if event.type == right_input:
for e in range(100):
data = compute_data(variables)
re_draw_window(data)
compute_data函数可以花费0.5秒的时间,但大约30次之后,pygame窗口停止响应,20秒后返回事件循环,它将显示最终结果。
我已经创建了一个脚本使用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:
嗨,我正在写一个简单的国际象棋程序,不幸的是我遇到了一些意想不到的问题,即。在我添加了一个跟踪所有图形位置的列表后,我不能使用我现在使用的方法来关闭窗口。这是: for event in pygame.event.get():
# print(event)
# Checking if the user clicks the red quit cross
if event.type == pygame.QUIT:
# run control the mainloop, wheather True or not
run = False
当我运行代码时,屏幕显示为黑色,直到我将Pygame窗口从桌面窗口移出,然后它同时显示白色填充和红色矩形。如何让它只显示填充内容而不将其从桌面屏幕上移出?
import pygame
pygame.init()
screen = pygame.display.set_mode((1200, 800))
run = True
def block(color, x, y, l, w):
pygame.draw.rect(screen, color, pygame.Rect(x, y, l, w))
while run:
for event in pygame.event.ge
我正在使用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创建的窗口中显示了奇怪的线条。我正在学习如何在Pygame中使用箭头键,并且无法摆脱窗口中的这个闪光。我在这里为极客修改的代码是:,它工作得很好,但当我使用不同大小的窗口和不同的形状来绘制它时,它会在窗口中显示奇怪的线条。
import pygame
import tkinter
pygame.init()
# create the display surfce object of specific dimensions (1000x1000).
win = pygame.display.set_mode((500, 500))
# Setting the wi
我有一些python代码,它使用pygame窗口来确定哪个键正在被按下。当一个键被按下时,代码停止并在返回之前执行操作,以查看下一个按下的键可能是什么。
我遇到的问题是,如果用户重复按某个键,即使“代码停止工作”,pygame似乎也会记住按下的内容,而不是等待下一次按键。我想要的是让代码忽略所有的按键,当“go and do then”完成后,再进行下一次按键。希望这是有意义的!
import pygame
import time
pygame.init()
screen = pygame.display.set_mode((450,282))
screen.fill((0,0,0))
p
这周早些时候,我刚刚开始学习如何使用Pygame。在摆弄它的时候,我发现如果我做了一个全屏窗口,让它打开大约10秒,然后关闭它,我打开的所有其他窗口都会缩小,我的屏幕会在几秒钟内以较低的分辨率显示。 下面这段代码会发生这样的事情: import pygame
pygame.init()
pygame.display.set_mode((500, 500),
pygame.FULLSCREEN)
running = True
while running is True:
for event in pygame.event.get():