Python Pygame矩形未绘制

Python Pygame矩形未绘制,python,python-3.x,pygame,Python,Python 3.x,Pygame,所以我并不完全是python新手,但我对pygame还是新手。我已经写了一个基本的脚本,应该构建一个由随机灰色阴影组成的薄矩形网格。据我所知,它正在正确地构建对象,所有相关变量似乎都在工作。但是pygame不会绘制矩形。我相信事情很简单,有人能指出我的错误吗 只是澄清一下,这些指纹是为了测试 矩形超出范围,因为矩形的x或y坐标为600。 更改以下代码行: 行。追加([行(x*50,Y,Y,15)表示范围内的x(x//50)]) line.append([line(x*50,0,15,Y)表示范围

所以我并不完全是python新手,但我对pygame还是新手。我已经写了一个基本的脚本,应该构建一个由随机灰色阴影组成的薄矩形网格。据我所知,它正在正确地构建对象,所有相关变量似乎都在工作。但是pygame不会绘制矩形。我相信事情很简单,有人能指出我的错误吗

只是澄清一下,这些指纹是为了测试


矩形超出范围,因为矩形的
x
y
坐标为600。
更改以下代码行:

行。追加([行(x*50,Y,Y,15)表示范围内的x(x//50)])

line.append([line(x*50,0,15,Y)表示范围内的x(x//50)])
行。追加([line(X,y*50,15,X)表示范围内的y(y//50)])

line.append([line(0,y*50,y,15)表示范围(y//50)中的y)])

矩形超出范围,因为矩形的
x
y
坐标为600。
更改以下代码行:

行。追加([行(x*50,Y,Y,15)表示范围内的x(x//50)])

line.append([line(x*50,0,15,Y)表示范围内的x(x//50)])
行。追加([line(X,y*50,15,X)表示范围内的y(y//50)])

line.append([line(0,y*50,y,15)表示范围(y//50)中的y)])

我以前没有使用过pygame,但我会仔细查看您生成的矩形的坐标——如果pygame按照预期的方式工作,则每个矩形都应该在屏幕边界之外。我同意,矩形超出边界,因为矩形的x或y坐标都是600。例如,更改为<代码>行。追加([x(50, 0, 15,y)为x(范围x(// 50)))< <代码> > <代码>行。追加([行(0,y* 50,y,15)为y在范围(y//50)] < /代码>哦,我看,我没有考虑到0,0在屏幕中间,谢谢。我以前还没有使用过PyPoG,但是我会仔细看看你正在生成的矩形的坐标——如果pygame的工作方式符合预期,那么每个矩形都应该在屏幕的边界之外。我同意,这些矩形是超出边界的,因为矩形的x或y坐标都是600。例如,更改为<代码>行。追加([x(50, 0, 15,y)为x(范围x(// 50)))< <代码> > <代码>行。追加([行(0,y* 50,y,15)y范围(y//50)] < /代码>哦,我看,我没有考虑到0,0在屏幕中间,谢谢。
#simple pygame grid drawer
import pygame as pg
import random as r

pg.init()
X = 600
Y = 600
surface_screen = pg.display.set_mode((X , Y))
colors = [(i , i , i) for i in range(255)]

class line:
    def __init__(self , x , y , hight , width):
        self.x = x
        self.y = y
        self.color = r.choice(colors)
        self.hight = hight
        self.width = width
        
lines = []
lines.append([line(x*50 , Y , Y , 15) for x in range(X // 50)])
lines.append([line(X , y*50 , 15 , X) for y in range(Y // 50)])
print("yep1")    
for A in lines:
    for i in A:
        pg.draw.rect(surface_screen , i.color , pg.Rect(i.x , i.y , i.hight , i.width))
        print(f"yep2 {i.color} , X:{i.x} , Y:{i.y} , hight:{i.hight} , width:{i.width}")

done = False
while not done:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            done = True
    
        pg.display.flip()
pg.quit()