为什么我的屏幕还是黑色的pygame?

时间:2013-09-08 03:07:14

标签: python pygame

import random, pygame, sys
from pygame.locals import *


class Display:
    global CELLSIZE, BLACK
    pygame.init()
    CELLSIZE = 20;
    BLACK = (  0,   0,   0)

    def __init__(self,HEIGHT,WIDTH):
        self.HEIGHT = HEIGHT
        self.WIDTH = WIDTH

    def displayBackground(self):
        DISPLAYSURF = pygame.display.set_mode((self.HEIGHT,self.WIDTH))

        for x in range(0, self.WIDTH, CELLSIZE): 
            pygame.draw.line(DISPLAYSURF, BLACK, (x, 0), (x, self.HEIGHT))


        for y in range(0, self.HEIGHT, CELLSIZE):
            pygame.draw.line(DISPLAYSURF, BLACK, (0, y), (self.WIDTH, y))


test1 = Display(600,400)
test1.displayBackground()

1 个答案:

答案 0 :(得分:0)

完成绘图后使用pygame.display.flip()。看看display module documentation for pygame。首先,将游戏对象绘制到显示表面。然后你“翻转”它(实际上在屏幕上显示)。每次执行此操作时,都会在屏幕上显示一个“框架”。由于人眼的舒适程度,大多数现代游戏以60 FPS(每秒帧数)或更高速度运行。这意味着它们迭代循环60次,在那里他们将东西绘制到显示表面,然后pygame.display.flip将新表面提交到显示器。您可以使用pygame.clock.tick来规定循环执行的次数。这使您可以设置与平台无关的最大帧速率。在Pygame文档中,所有这些都得到了很好的描述。问我是否需要更多帮助:))