此代码的语法无效,不知道如何解决

时间:2019-03-27 07:59:12

标签: python pygame

不知道为什么语法无效,有人知道吗?它说,代码的两行特别是语法无效。这可能很容易解决,所以请怜悯我的灵魂。

我没有尝试过任何东西,因为这是一个非常基本的问题,我可能在编码方面很烂

import pygame
import sys
import time
pygame.init()

(width, height) = (1920, 1080)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('fat')

background_colour = pygame.Color('white')
color = pygame.Color('dodgerblue2')
font = pygame.font.Font(None, 100)
clock = pygame.time.Clock()
running = True
text = ''

while running:


    # handle events and user-input
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if (event.key >= pygame.K_SPACE and event.key <= pygame.K_z):
                # Append key-stroke's character
                text += event.unicode
            elif (event.key == pygame.K_BACKSPACE):
                text = text[:-1]
            elif (event.key == pygame.K_RETURN): 
                #print("interpret(text) - NOT IMPLEMENTED")
                text = ""
        if len(text) > 20:
            text = text[:-1]
    # repaint the screen
    screen.fill(background_colour)
    txt_surface = font.render(text, True, color)
    screen.blit(txt_surface, (50, 100))
    response = font.render(Room.defaultprompt, True, color)
    screen.blit((response,(80, 150))

clock.tick_busy_loop(60)  # limit FPS   
display.flip()

该代码可以(但不再需要)接受用户键入的内容并将其显示在屏幕上。在我尝试使pygame绘制另一行文本后,它停止工作。 (顺便说一句,我知道Room.defaultprompt是未定义的,但这是因为其余的代码不在帖子中)

1 个答案:

答案 0 :(得分:5)

密切关注它,因此此行出现错误:

screen.blit((response,(80, 150))

应该在什么时候出现:

screen.blit(response,(80, 150))

@ErikXIII的答案没什么不同