当前位置: 首页 > 知识库问答 >
问题:

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

公孙鸿才
2023-03-14

当我运行此代码时,它会显示一个空白的黑色窗口,并显示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个答案

封飞
2023-03-14

您需要将此行添加到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循环很好。我希望这对你有帮助!

 类似资料:
  • 我运行以下代码: 当我运行代码时,pygame窗口打开,但它是一个空白(黑色)屏幕。我还收到以下错误消息:Traceback(最近一次呼叫last): 文件"C:/用户/Draco/OneDrive/文档/编程/graphics.py",第13行,screen.blit(img(0,0))TypeError:'pyplay.Surface'对象不可调用 我试图打开的图像保存为JPG文件。图像保存在

  • 这是我的代码,请记住,我在几天前学习了python,所以我的代码可能制作不正确,等等。我正在尝试制作一个窗口,该窗口将显示一些文本(测试版),并将显示两个小矩形,我想成为按钮。

  • 我正在使用(Webdriver)驱动程序。关闭(关闭浏览器,而不是使用driver.quit)。关闭浏览器窗口后,我无法使用驱动程序。get(url)-引发无法访问的BrowserException。 作为一项工作,我试图得到windowHandles.size(),当它是零我想打开一个新的空白窗口,然后使用driver.get(url)。 但我找不到在Webdriver类中打开空白窗口的方法。

  • 我对glfw有一个小问题。 我的代码非常简单,我只想创建一个空窗口。 } 此代码编译,但当我运行它时,我只有一个白色窗口。窗口的标题是正确的,但里面的一切都是白色的......我尝试像那样使用glClearColor。 但是我的窗户仍然是白色的....我用的是visual studio 2015。 怎么弄个黑窗? 编辑: 忘了补充这个:glfwMakeContextCurrent(window);

  • 我以前也发布过同样的问题,但我现在再次发布,因为我在代码中发现了更多的错误并更正了它们。然而,我仍然面临着和以前一样的问题! 原始帖子:我几周前刚开始学习Python,我正在学习一个教程,用pygame构建一个数独解算器! 我现在面临的问题是,每当我尝试运行代码时,只会弹出一个黑色的空白窗口。我已经一遍又一遍地检查我的代码,但我似乎找不到问题。。。我不确定我的代码中到底是哪里出了问题,所以请原谅我

  • 我正在写一个简单的mandelbrot渲染器。在程序计算并绘制所有内容后,它将保存曲面并进行blits。这很好,但在我添加了更新显示功能后,它只显示一个黑屏。我需要更新每次迭代,因为我将添加一些文本和其他内容。我只包括了节目的重要部分。有人知道为什么会这样吗?