pygame貌似没有直接的输入框给你调用,你可以设置一个点击的事件触发键盘记录,将接收到的字符串实时显示到屏幕上。而中文的话,你可以用拼音转中文的库,不过应该比较麻烦。

我在官网上找到了一个跟我思路差不多的实现,这个不支持中文输入,你可以自己搞一个简单的,例如Pinyin2Hanzi库就可以帮你实现一个简单地转换。应该是inputbox。

还有一个是pygame的pgu库,这是第三方开发的,有输入框,你可以看下文档,具体怎么使用你自己学吧。

http://www.pygame.org/pcr/inp...

import pygame, pygame.font, pygame.event, pygame.draw, string

from pygame.locals import *

def get_key():

while 1:

event = pygame.event.poll()

if event.type == KEYDOWN:

return event.key

else:

pass

def display_box(screen, message):

"Print a message in a box in the middle of the screen"

fontobject = pygame.font.Font(None,18)

pygame.draw.rect(screen, (0,0,0),

((screen.get_width() / 2) - 100,

(screen.get_height() / 2) - 10,

200,20), 0)

pygame.draw.rect(screen, (255,255,255),

((screen.get_width() / 2) - 102,

(screen.get_height() / 2) - 12,

204,24), 1)

if len(message) != 0:

screen.blit(fontobject.render(message, 1, (255,255,255)),

((screen.get_width() / 2) - 100, (screen.get_height() / 2) - 10))

pygame.display.flip()

def ask(screen, question):

"ask(screen, question) -> answer"

pygame.font.init()

current_string = []

display_box(screen, question + ": " + string.join(current_string,""))

while 1:

inkey = get_key()

print(inkey

)

if inkey == K_BACKSPACE:

current_string = current_string[0:-1]

elif inkey == K_RETURN:

break

elif inkey == K_MINUS:

current_string.append("_")

elif inkey <= 127:

current_string.append(chr(inkey))

display_box(screen, question + ": " + string.join(current_string,""))

return string.join(current_string,"")

def main():

screen = pygame.display.set_mode((320,240))

print (ask(screen, "Name") + " was entered")

if __name__ == '__main__':

main()

pygame 文字输入交互_pygame能接收用户的文本输入吗?相关推荐

  1. python让用户输入字符串_Python中接收用户的输入

    一.如何去接收用户的输入?使用函数 input() 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用. name = in ...

  2. java fx 文本输入,DOC-03-08 文本框(Text Field)

    DOC-03-08 文本框(Text Field) 本章讨论Text Field组件的功能. TextField类实现了一个接收和显示文本输入的UI组件.它提供了从用户接收文本输入的功能.这个类和另一 ...

  3. ​Xamarin iOS教程之使用按钮接接收用户输入

    ​Xamarin iOS教程之使用按钮接接收用户输入 Xamarin iOS使用按钮接接收用户输入 按钮是用户交互的最基础控件.即使是在iPhone或者iPad中,用户使用最多操作也是通过触摸实现点击 ...

  4. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入

    iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...

  5. CMD命令行接收用户输入信息

    CMD命令行接收用户输入信息 可以把下面的代码块Copy到一个以bat为后缀的文件中,双击就可以看到效果 ********************************************** ...

  6. 03-java学习-基本数据类型-运算符-键盘接收用户输入

    java的八大基本数据类型: 类型转换的基本原则: java整数的默认类型是int,小数的默认类型是double 运算符: 算术运算符.连接.赋值.关系.逻辑.三目运算符等-- 键盘接收用户输入: j ...

  7. 接收用户的输入 Scanner类

    接收用户的输入 Scanner类 通过这个工具类,接收用户数据,为自己所使用 例子 固定的写法 获得一个Scanner对象 这个数据英雄的本领,接收键盘的输入 Scanner 数据英雄的名称=new ...

  8. 前端工具-Yeoman模板 + 接收用户输入

    开门见山 在前端工具-自定义generator文章中,介绍了如何自定义generator模块,以及生成对应的文件,如果是一个接一个写文件的话比较费力,好在我们有模板语法通过模板语法,大大提高了效率 模 ...

  9. PHP-企业微信二次开发-接收用户输入消息内容并响应相关业务逻辑

    企业微信接收用户输入消息内容并响应 前面一节说明了企业微信设置API接收,服务器回调配置的一些说明.这一节我们接着后面的内容来讲下在企业微信中,如何通过应用,接收用户消息. 业务逻辑:企业微信向回调地 ...

最新文章

  1. linux svn更换数据仓库,Linux环境下SVN数据仓库迁移
  2. 怎么样从一个疯狂下载者成为一个学习者(转)
  3. ap计算机科学4分还要再考吗,CB官方发布2020年AP计算机科学考试(CSA)的细节:考试时间/考试题型/备考资料/评分标准/考前建议...
  4. linux系统 个人使用情况,个人使用Linux操作系统常要做的事
  5. 003-redis-命令-key操作,字符串操作
  6. 从零开始学keras之kaggle猫狗识别分类器
  7. Node.js nrm
  8. 查看eclipse中项目部署位置
  9. 微软 Exchange 服务器被滥用于内部邮件回复链攻击
  10. C# Json文件读取
  11. airtest web 录制滑块_AirTest学习四,录制Web测试脚本
  12. IC授权卡和复制卡的区别_DIY电脑——A卡和N卡有区别吗
  13. CleanMyMac4.11.1中文完整语言版本
  14. thinkphp5.0漏洞修复
  15. 职场菜鸟捕食指北【初入职场篇】
  16. 整流-1.输入电压角度计算
  17. cmake导入so库_CMAKE使用链接第三方SO库
  18. Java jQuery_2
  19. linux输入法搜狗 修复,搜狗输入法自带修复功能,可以解决无法打字的问题
  20. 前端学习笔记一:HTML(1)预备知识及一个简单的网页

热门文章

  1. 写一个 panic blame 机器人
  2. Linux线程(六)
  3. 新浪微博:大规模离线视频处理系统的架构设计
  4. LiveVideoStack线上分享第四季(二):基于内容的自适应视频传输算法及其应用...
  5. 抓不到娃娃?不能总怪运气差!
  6. Java多线程之CAS深入解析
  7. Nature 子刊重磅:腾讯与钟南山团队发布新冠危重症 AI 预测模型
  8. 大牛书单 | 系统架构方向好书推荐
  9. nginx-rtmp常用指令
  10. 用idea编写代码作为生产者,Kafka接收其【持续】发来的广告日志信息【小案例】(二)