Python 如何绘制黑屏和网格?

Python 如何绘制黑屏和网格?,python,pygame,Python,Pygame,我有个问题。这是我的密码: import pygame import tkinter as tk class cube(): rows = 20 w = 500 def __init__(self, start, dirnx=1, dirny=0, color=(255, 0, 0)): pass class snake(object): def __init__(self, color, pos): pass def drawGr

我有个问题。这是我的密码:

import pygame
import tkinter as tk
class cube():
    rows = 20
    w = 500
    def __init__(self, start, dirnx=1, dirny=0, color=(255, 0, 0)):
        pass
class snake(object):
    def __init__(self, color, pos):
        pass
def drawGrid(w, rows, surface):
    b = 255
    sizeBtwn = w // rows
    x = 0
    y = 0
    for l in range(rows):
        x = x + sizeBtwn
        y = y + sizeBtwn
        pygame.draw.line(surface, (b, b, b), (x,0), (x,w))
        pygame.draw.line(surface, (b, b, b), (0,y), (w,y))
def redrawWindow(surface):
    global rows, width
    surface.fill((0,0,0))
    drawGrid(width, rows, surface)
    pygame.display.update()
def main():
    global width, rows
    width = 1280
    height = 720
    rows = 40
    win = pygame.display.set_mode((width, height))
    s = snake((255, 0, 0), (10, 10))
    run = True
    clock = pygame.time.Clock()
    while run:
        clock.tick(30)
        redrawWindow(win)
if __name__ == "__main__":
    main()
当我发射时,我什么都没有。我有一扇灰色的窗户。但我应该有一个黑色的窗户和网格。。。为什么什么都没有出现


谢谢你帮助我

您必须通过或来处理事件。
此函数也不处理内部事件。这是保持系统响应和更新显示所必需的

def main():
# [...]
clock=pygame.time.clock()
运行时:
#处理事件
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
时钟滴答(30)
重画窗口(win)

您必须通过或来处理事件。
此函数也不处理内部事件。这是保持系统响应和更新显示所必需的

def main():
# [...]
clock=pygame.time.clock()
运行时:
#处理事件
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
时钟滴答(30)
重画窗口(win)

pygame不会立即退出。只是我的窗户是灰色的,而且只有灰色。这很奇怪……不是我的。谢谢!我在pygame.event.get()中添加了:
用于pygame.event.get():if event.type==pygame.QUIT:run=False
现在它可以工作了…但是为什么呢?@MrRex问题出在哪里?我不明白为什么在写完以下内容后它可以工作:
用于pygame.event.get()中的事件:if event.type==pygame.QUIT:run=False
pygame不会立即退出。只是我的窗户是灰色的,而且只有灰色。这很奇怪……不是我的。谢谢!我在pygame.event.get()中添加了:
用于pygame.event.get():if event.type==pygame.QUIT:run=False
现在它可以工作了…但是为什么呢?@MrRex问题出在哪里?我不明白为什么在写完以下内容后它可以工作:
用于pygame.event.get()中的事件:if event.type==pygame.QUIT:run=False