我尝试了很多方法来更改Pygame中的像素,但没有一种与我合作...
import pygame
import random
width = 640
height = 400
screen = pygame.display.set_mode((width, height))
clock = pygame.time.Clock()
running = True
while running:
x = random.randint(0, width-1)
y = random.randint(0, height-1)
red = random.randint(0, 255)
green = random.randint(0, 255)
blue = random.randint(0, 255)
screen.set_at((x, y), (red, green, blue))
clock.tick(10)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.display.flip()
clock.tick(240)
什么也没有发生,只有黑屏,直到我关闭它。
答案 0 :(得分:3)
您似乎在关注this tutorial,但是您在错误的位置上缩进了一些必要的代码。请记住,Python是对空格敏感的;缩进很重要!
最后两行不应位于for
循环块内,而应位于while
循环块内。
while running:
# code that draws pixel
pygame.display.flip()
clock.tick(240)
这些行会更新显示内容并计算帧之间的时间。
在if语句内部,只有在触发pygame.QUIT
事件后,像素才会被绘制。