背景在pygame中没有变化

时间:2016-08-28 02:35:00

标签: python-3.x

我正在尝试获取用户输入并基于用户输入,它运行gameloop功能。但是,当用户按下右键时,它不会运行该功能,或者至少我不这么认为。没有错误被抛出。我很困惑为什么它现在不起作用。我正在运行python 3.4.3。另外,我注意到在用户输入之前,我无法移动pygame窗口直到用户输入之后。这告诉我功能正在运行。但是,当我将gameloop函数的背景更改为蓝色时,它也没有任何作用。所以这告诉我它不起作用。我不知道发生了什么事。这是我的代码。提前谢谢。

import pygame
import math
import color
import sys
import random
import cx_Freeze
import time
import glob
pygame.init()
white=color.white
black=color.black
blue=color.blue
screen_width=800
screen_height=600
gamedisplay=pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption('Bingo Tracker')
clock=pygame.time.Clock()
FPS=60
smallfont=pygame.font.SysFont("Arial",int(screen_width/32))
mediumfont=pygame.font.SysFont("Arial",int(screen_width/16))
largefont=pygame.font.SysFont("Arial",int(screen_width/10))
gamedisplay.fill(white)
pygame.display.update()
def intro_screen():
    start_message = mediumfont.render(str("Welcome to Bingo Tracker!!!"), True,black)
    gamedisplay.blit(start_message,(screen_width/5.614035088,screen_height/40))
    instructions=pygame.image.load('bingotrackerinstructions.png')
    gamedisplay.blit(instructions,(0,screen_height/8.053691275))
    pygame.display.update()
intro_screen()
def gameloop():
    gamedisplay.fill(white)
    for event in pygame.event.get():
            if event.type==pygame.QUIT:
                pygame.quit()
                sys.exit()
                quit()
    pygame.display.update()
instructionread=input("Press y to continue:")
instructionread=instructionread.lower
if instructionread=='y':
    gameloop()

1 个答案:

答案 0 :(得分:0)

没有运行游戏循环的原因是你错过了instructionread=instructionread.lower()的括号

这意味着,instructionread被赋予值“y”,它将获得<built-in method lower of str object>的值,因此gameloop不会运行。

请注意gameloop没有循环(除了通过事件的那个循环)。该过程运行一次,然后程序退出。