当分别使用.fill和.blit解决这两个问题时,Python冻结并崩溃

时间:2018-08-29 08:27:01

标签: macos python-2.7 pygame

在我的Mac上,我试图制作一个游戏并学习如何使用pygame,但是每次我键入.fill()时,我的游戏都会冻结。

此外,当我键入.blit()时,python启动器立即崩溃:

这是我的代码:

import pygame

pygame.init()

display_width = 800
display_height = 600

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Game')
clock = pygame.time.Clock()

carImg = pygame.image.load('carcopy.png')

def car(x,y):
    gameDisplay.blit(carImg,(x,y))


x = (display_width * 0.45)
y = (display_height * 0.8)

crashed = False

while not crashed:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True

    car(x,y)
    gameDisplay.fill(white)

    pygame.display.update()
    clock.tick(60)

pygame.quit()
quit() 

1 个答案:

答案 0 :(得分:0)

它真的冻结了吗?按正确的顺序放置渲染功能。屏幕填充优先,因为它将整个屏幕涂成白色。然后,您应该将blit函数用于在清除的屏幕上呈现对象。

gameDisplay.fill(white)
car(x,y)
pygame.display.update()