我有问题。我已经制作了一个用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文件。