当我按1时,我希望1出现在屏幕上。此代码不显示任何错误消息,当我按1时没有任何反应。
import pygame
pygame.init()
disp_x = 200
disp_y = 300
size = 60
space = 15
white = (255,255,255)
black =(0,0,0)
gameDisplay = pygame.display.set_mode((disp_x,disp_y))
image = pygame.image.load('GREEN_BUBLES.png')
font = pygame.font.SysFont(None,50)
text = font.render("0",True,black)
while True:
gameDisplay.fill((white))
gameDisplay.blit(image,(0,0))
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_1:
text = font.render("1",True,black)
gameDisplay.blit(text,(15,10))
pygame.display.update()
pygame.event.wait()
答案 0 :(得分:1)
您可以创建一个字符串,然后将每个与您可以显示的字符对应的键追加到末尾:
from pygame import init, display, font
from pygame.event import get as event_getter
from pygame.locals import *
from time import sleep
init ()
surf = display.set_mode ((400, 400))
string = ""
while 1:
sleep (0.1)
for event in event_getter ():
if event.type == KEYDOWN:
if event.key == K_BACKSPACE and string:
string = string[:-1]
else:
try:
string += str (event.unicode)
except TypeError:
pass
surf.fill ((255, )*3)
surf.blit (font.Font (None, 24).render (string, 1, (0, )*3), (100, 100))
display.flip ()