import pygame
pygame.init()
Display = pygame.display.set_mode((800,600))
pygame.display.set_caption("Blocky")
red = (157, 139, 215)
black = (0,0,0)
Display.fill(red)
pygame.draw.rect(Display,black,(400,300,200,80))
pygame.display.update()
excape = False
while not excape:
for dork in pygame.event.get():
print (dork)
[
正常工作但是当我在更新功能下将红色复制并粘贴到pygame.draw时,它不起作用..为什么没有?
答案 0 :(得分:2)
因为(157, 139, 215)
不是红色。它的背景颜色与紫色相同。
将其替换为red = (255, 0, 0)
并将背景显示设置为不同的填充颜色。
这样的事情:
purple = (157, 139, 215)
red = (255, 0, 0)
black = (0,0,0)
Display.fill(purple)
pygame.draw.rect(Display,red,(400,300,200,80))
答案 1 :(得分:2)
PyGame
在内存中绘制缓冲区,updata() / flip()将数据从此缓冲区发送到视频卡,该视频卡将在监视器上显示。
对于轻弹屏幕的问题是流行的方法,被称为Double Buffering
如果您在update()
之后绘制,那么它将不会发送到视频卡。
BTW:在普通游戏中,你在update()
循环中绘制并使用while
,这样就不会出问题。