Python 需要blit功能的帮助吗
我正在用pygame制作一个新游戏,blit函数对我来说不起作用,它应该很简单,但我不知道出了什么问题Python 需要blit功能的帮助吗,python,pygame,Python,Pygame,我正在用pygame制作一个新游戏,blit函数对我来说不起作用,它应该很简单,但我不知道出了什么问题 import pygame import sys pygame.init() clock = pygame.time.Clock() game = True WIDTH = 160 HEIGHT = 144 screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN) level = pygame.image.load
import pygame
import sys
pygame.init()
clock = pygame.time.Clock()
game = True
WIDTH = 160
HEIGHT = 144
screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
level = pygame.image.load('RBYG/Level.png')
def redrawGameWindow():
screen.blit(level, (0, 0))
while game:
screen.blit(level,(0, 0))
for event in pygame.event.get():
print(event)
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
sys.exit()
redrawGameWindow()
clock.tick(60)
您缺少了
pygame.display.flip()
,您必须在blit之后执行此操作,否则将什么也不会发生。redrawGameWindow()
函数应翻转显示。另外,在主循环中调用screen.blit(level,(0,0))
两次,这可能是不必要的;尝试只保留其中一个(只需确保flip()
之后)。您缺少pygame.display.flip()
,您必须在blit之后执行此操作,否则将不会发生任何事情。redrawGameWindow()
函数应翻转显示。另外,在主循环中调用screen.blit(level,(0,0))
两次,这可能是不必要的;尝试只保留其中一个(只需确保flip()
之后)。也不要忘记将屏幕中的变量传递给重画游戏窗口
方法-永远不要使用隐式全局变量(如果必须是全局变量,请使用全局关键字),如果必须是全局变量,仍然不要将其设置为全局,而是创建一个包含适当属性的游戏类(例如,self.screen
)。也不要忘记将screen
var传递给redrawGameWindow
方法-永远不要使用隐式全局变量(如果必须是全局变量,请使用全局关键字)如果它必须是全局的,仍然不要使其成为全局的,而是创建一个包含适当属性的游戏类(self.screen
)。