簡體   English   中英

Pygame矩形不繪制

[英]Pygame rectangles not drawing

所以我對python並不完全陌生,但我是pygame的新手。 我已經編寫了一個基本腳本,它應該構建一個由隨機灰色陰影的細矩形組成的網格。 據我所知,它正在正確構建對象,並且所有相關變量似乎都在工作。 但 pygame 不會繪制矩形。 我確定它相當簡單,有人可以指出我的錯誤嗎?

只是為了澄清,印刷品用於測試目的

#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()
            
       

矩形超出邊界,因為矩形的xy坐標是 600。
更改以下代碼行:

lines.append([line(x*50 , Y , Y , 15) for x in range(X // 50)])

lines.append([line(x*50, 0, 15, Y) for x in range(X // 50)]) 

lines.append([line(X , y*50 , 15 , X) for y in range(Y // 50)])

lines.append([line(0, y*50, Y, 15) for y in range(Y // 50)])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM