尝试创建菜单时出现黑屏

时间:2014-06-01 14:44:53

标签: python ubuntu menu window

我有问题。我已经制作了一个用python制作的游戏菜单(它更像是一个开始画面)。但是,当我运行代码时,我看到一个标题恰当的窗口,但屏幕本身是黑色的。我做错了什么?

#importing the libraries
import pygame
import sys
import os

WINDOWWIDTH = 640
WINDOWHEIGHT = 480
#colour       R    G    B
WHITE     = (255, 255, 255)
BLACK     = (  0,   0,   0)
RED       = (255,   0,   0)
GREEN     = (  0, 255,   0)
DARKGREEN = (  0, 155,   0)
DARKGREY  = ( 40,  40,  40)
BGCOLOR = BLACK

DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))

pygame.init()

#Drawing the message
def drawPressKeyMsg():
    pressKeySurf = BASICFONT.render("Press a key to play...", True, DARKGREY)
    pressKeyRect = pressKeySurf.get_rect()
    pressKeyRect.topleft = (WINDOWWIDTH - 200, WINDOWHEIGHT - 30)
    DISPLAYSURF.blit(pressKeySurf, pressKeyRect)



#Showing the start screen
def showStartScreen():
    titleFont = pygame.font.Font(None, 100)
    titleMain = titleFont.render('Badger Defense', True, WHITE, BGCOLOR)
    titleSecond = titleFont.render("Don't get your family killed!", True, GREEN)

while True:
    drawPressKeyMsg()


#Main function
def main():
    global DISPLAYSURF, BASICFONT

    DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
    BASICFONT = pygame.font.Font(None, 18)
    pygame.display.set_caption('Badger Defense - Aplha(0.0.1)')

    showStartScreen()



#Drawing the screen
DISPLAYSURF.fill(BGCOLOR)
pygame.display.update()



#Reaction to the message
def checkForKeyPress():
    events = pygame.event.get()
    for event in events:
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_SPACE:
                    os.system('python game.py')



if __name__ == "__main__":
    main()

我正在使用Sublime并且正在运行Ubuntu 12.04。我将游戏及其所有资源放在与菜单相同的文件夹中,我也有__init__。py文件。

1 个答案:

答案 0 :(得分:0)

使用pygame.display.update()更新屏幕。