Python 如何修复我的pygame窗口,始终是一个黑屏
这是我第一次在堆栈上溢出,首先,如果我格式化错误,请不要杀了我,但我正在尝试运行这段代码,但每次我执行Pygame时,屏幕都会变黑,每次我的光标移到屏幕顶部,它都会变成一个旋转的甜甜圈,这意味着windows处理起来很困难。如果有人能帮助我,找出问题所在,我将不胜感激,顺便说一句,thx提前 代码如下:Python 如何修复我的pygame窗口,始终是一个黑屏,python,pygame,Python,Pygame,这是我第一次在堆栈上溢出,首先,如果我格式化错误,请不要杀了我,但我正在尝试运行这段代码,但每次我执行Pygame时,屏幕都会变黑,每次我的光标移到屏幕顶部,它都会变成一个旋转的甜甜圈,这意味着windows处理起来很困难。如果有人能帮助我,找出问题所在,我将不胜感激,顺便说一句,thx提前 代码如下: import pygame pygame.init() ss_images = [ pygame.transform.scale(pygame.image.load('C:/User
import pygame
pygame.init()
ss_images = [
pygame.transform.scale(pygame.image.load('C:/Users\\Wonka101\\PycharmProjects\\Images\\ss1.png'), (64, 64)),
pygame.transform.scale(pygame.image.load('C:/Users\\Wonka101\\PycharmProjects\\Images\\ss2.png'), (64, 64))
]
screen = (500, 500)
bg = pygame.image.load('C:/Users\\Wonka101\\PycharmProjects\\Images\\space v.2.jpg')
bg = pygame.transform.scale(bg, screen)
win = pygame.display.set_mode(screen)
clock = pygame.time.Clock()
class Player(object):
def __init__(self, x_position, y_position, width, height):
self.x_position = x_position
self.y_position = y_position
self.width = width
self.height = height
self.velocity = 5
self.left = False
self.right = False
self.fly_count = 0
def draw(self):
while True:
win.blit(ss_images[self.fly_count], (self.x_position, self.y_position))
self.fly_count = self.fly_count + 1
if self.fly_count == 2:
self.fly_count = 0
def game_window():
global fly_count
win.blit(bg, (0, 0))
ss.draw()
pygame.display.update()
ss = Player(250, 250, 64, 64)
running = True
while running:
pygame.time.delay(100)
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
game_window()
您的draw函数中有
while True
,没有退出条件(break
),这是一个无限循环,那么我该如何解决这个问题呢???这取决于具体情况,您为什么要在循环中对这些图像进行快速切换?您的意思是在交替帧上渲染每个图像吗?是的,顺便说一下,如果您只删除while循环,那么您的代码将完全按照您的需要工作。在每次绘制时,fly\u count
都会增加,这意味着下一次绘制将在没有退出条件(break
)的绘制函数中闪烁下一幅图像,而True),这是一个无限循环,那么我该如何解决这个问题呢???这取决于,为什么要在循环中闪烁这些图像?您的意思是在交替帧上渲染每个图像吗?是的,顺便说一下,如果您只删除while循环,那么您的代码将完全按照您的需要工作。在每次绘制时,飞行计数将增加,这意味着下一次绘制将闪烁下一幅图像