一个空白的黑色窗口在pygame中打开

时间:2014-12-24 16:41:14

标签: pygame

当我运行此代码时,它会显示一个空白的黑色窗口,并显示x未定义。

import pygame,sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((800,500))
screen.fill((255,255,255))

#basic stuff


 pygame.draw.line(screen,(0,0,0),(500,0),(500,500))
    pygame.draw.rect(screen, (0,255,0), (20,50,460,420))
    #pygame.draw.line(screen, (0,0,0), (500,0),(500,500))
    #pygame.draw.line(screen, (0,0,0), (500,500),(0,500))

#draw

while 1:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        if event.type == MOUSEBUTTONDOWN:
            pos = pygame.mouse.get_pos()
            x = int(pos[0]//20)
            y = int(pos[1]//20)
            j = int(x*20+20)
            l = int(y*20+20)
            print(x+1,' ',y+1)
        if x > 2 and y > 3 and x < 24 and y < 24:
            pygame.quit()
它不是颜色。它没有画任何强硬的线条我给出了命令

 myfont = pygame.font.SysFont("monospace", 20)


    label = myfont.render("Allameh helli 3 stock exchange group",1,0,0,0))
    screen.blit(label, (30, 10))

我的错误是什么阻止我将屏幕变白并引发错误?

1 个答案:

答案 0 :(得分:0)

您需要在while循环中添加此行,但不要在for循环中添加:

screen.fill([255, 255, 255])

在while循环之外和之后的这行代码:

pygame.quit()

已定义xy。您需要重新定义这些变量,包括pos以防止错误。错误是你的if语句:

        if x > 2 and y > 3 and x < 24 and y < 24:
            pygame.quit()

不符合上面的那个。然后该程序无法查看xy是什么,从而引发错误。顺便说一句,你的while循环很好。我希望这可以帮助你!