[英]Pygame isn't drawing anything when I go pixel by pixel
我試圖制作一個將顯示mandelbrot集的python程序,並且試圖逐像素渲染它,但它僅顯示黑色。
我正在運行python 3.7,並且正在使用pygame版本1.9.4。 唯一不起作用的是渲染。
import pygame
pygame.init()
screen = pygame.display.set_mode((1000,1000))
carryOn=True
pressed=False
for i in range(len(mandelbrot)):
for j in range(len(mandelbrot[i])):
if j:
pygame.draw.rect(screen, (0,0,0), (j, i, 1,1))
else:
pygame.draw.rect(screen, (255,255,255),(j, i, 1,1))
pygame.display.flip()
while carryOn:
for event in pygame.event.get():
if event.type==pygame.QUIT:
carryOn=False
pygame.time.Clock().tick(40)
pygame.quit()
mandelbrot在我的代碼中已定義
我本來希望得到mandlebrot集的圖像,但是我只得到了一個黑色的pygame窗口。
您需要在矩形上指定線寬。 它默認為0,所以我認為pygame不會繪制沒有輪廓的單像素填充矩形。
在末尾添加寬度1可以繪制像素:
pygame.draw.rect(screen, (255,255,255),(j, i, 1, 1), 1)
如果要繪制到屏幕上,則應將繪制函數和flip()放在while循環中。
#I assume this is your main loop?
while carryOn:
for event in pygame.event.get():
if event.type==pygame.QUIT:
carryOn=False
# clear the screen with black
screen.fill((0,0,0)
# assume mandelbrot is a 2D-Array
for i in range(len(mandelbrot)):
for j in range(len(mandelbrot[i])):
if j:
pygame.draw.rect(screen, (0,0,0), (j, i, 1,1))
else:
pygame.draw.rect(screen, (255,255,255),(j, i, 1,1))
# display.flip should be in the while loop
pygame.display.flip()
pygame.time.Clock().tick(40)
pygame.quit()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.