当我运行此代码时,它会显示一个空白的黑色窗口,并显示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))
我的错误是什么阻止我将屏幕变白并引发错误?
答案 0 :(得分:0)
您需要在while
循环中添加此行,但不要在for
循环中添加:
screen.fill([255, 255, 255])
在while循环之外和之后的这行代码:
pygame.quit()
不 已定义x
或y
。您需要重新定义这些变量,包括pos
以防止错误。错误是你的if语句:
if x > 2 and y > 3 and x < 24 and y < 24:
pygame.quit()
不符合上面的那个。然后该程序无法查看x
或y
是什么,从而引发错误。顺便说一句,你的while循环很好。我希望这可以帮助你!