python如何屏幕输入_Pygam中的屏幕输入

在Python编程项目中,开发者正在使用Pygame库创建一个拼写游戏。遇到的问题在于无法实现用户输入字母并在游戏显示屏上显示。代码中尝试了读取键盘输入并将字符添加到字符串中,但未能成功地将输入的字母显示在屏幕上。
摘要由CSDN通过智能技术生成

在学校的一个编程项目中,我必须用pygame创建一个拼写游戏。然而,由于我对这一切都很陌生,所以我无法想出如何允许用户输入字母并使它们出现在游戏显示屏上。这是我目前为止的代码(以及我解决这个问题的失败尝试):import pygame

import random

pygame.init()

display_width = 800

display_height = 600

black = (0,0,0)

white = (255,255,255)

red = (255,0,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))

pygame.display.set_caption("Spelling Game")

myfont = pygame.font.SysFont("Arial", 50)

clock = pygame.time.Clock()

mouse = pygame.mouse.get_pos()

city = pygame.image.load("city.png")

charac_str = "" #new string to store written character

# font object to render str to surface

font_renderer = pygame.font.SysFont("Arial",30)

def background(x,y):

gameDisplay.blit(city,(-200,-100))

with open("words.txt") as f:

WORDS = f.read().split()

def random_word():

return random.choice(WORDS)

gameExit = False

word = random_word()

while not gameExit:

#event-handling loop based on user input

for event in pygame.event.get():

if event.type == pygame.QUIT:

pygame.quit()

quit()

gameDisplay.fill(white)

background(0,0)

textsurface = myfont.render(word, True, red)

gameDisplay.blit(textsurface, (340, 400)) #the random word

rendered_charac = font_renderer.render(charac_str, True, red)

gameDisplay.blit(rendered_charac, (100,100))

pygame.display.update()

for event in pygame.event.get():

if event.type == pygame.KEYDOWN:

if pygame.K_0 < event.key < pygame.K_9: #checks key pressed

character = chr(event.key) #conv num to char

charac_str += str(character) # add num to end of string

gameDisplay.blit(charac_str) # display the input?doesn't work

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值