pygame 文字输入交互_pygame能接收用户的文本输入吗?
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能接收用户的文本输入吗?相关推荐
- python让用户输入字符串_Python中接收用户的输入
一.如何去接收用户的输入?使用函数 input() 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用. name = in ...
- java fx 文本输入,DOC-03-08 文本框(Text Field)
DOC-03-08 文本框(Text Field) 本章讨论Text Field组件的功能. TextField类实现了一个接收和显示文本输入的UI组件.它提供了从用户接收文本输入的功能.这个类和另一 ...
- Xamarin iOS教程之使用按钮接接收用户输入
Xamarin iOS教程之使用按钮接接收用户输入 Xamarin iOS使用按钮接接收用户输入 按钮是用户交互的最基础控件.即使是在iPhone或者iPad中,用户使用最多操作也是通过触摸实现点击 ...
- iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...
- CMD命令行接收用户输入信息
CMD命令行接收用户输入信息 可以把下面的代码块Copy到一个以bat为后缀的文件中,双击就可以看到效果 ********************************************** ...
- 03-java学习-基本数据类型-运算符-键盘接收用户输入
java的八大基本数据类型: 类型转换的基本原则: java整数的默认类型是int,小数的默认类型是double 运算符: 算术运算符.连接.赋值.关系.逻辑.三目运算符等-- 键盘接收用户输入: j ...
- 接收用户的输入 Scanner类
接收用户的输入 Scanner类 通过这个工具类,接收用户数据,为自己所使用 例子 固定的写法 获得一个Scanner对象 这个数据英雄的本领,接收键盘的输入 Scanner 数据英雄的名称=new ...
- 前端工具-Yeoman模板 + 接收用户输入
开门见山 在前端工具-自定义generator文章中,介绍了如何自定义generator模块,以及生成对应的文件,如果是一个接一个写文件的话比较费力,好在我们有模板语法通过模板语法,大大提高了效率 模 ...
- PHP-企业微信二次开发-接收用户输入消息内容并响应相关业务逻辑
企业微信接收用户输入消息内容并响应 前面一节说明了企业微信设置API接收,服务器回调配置的一些说明.这一节我们接着后面的内容来讲下在企业微信中,如何通过应用,接收用户消息. 业务逻辑:企业微信向回调地 ...
最新文章
- linux svn更换数据仓库,Linux环境下SVN数据仓库迁移
- 怎么样从一个疯狂下载者成为一个学习者(转)
- ap计算机科学4分还要再考吗,CB官方发布2020年AP计算机科学考试(CSA)的细节:考试时间/考试题型/备考资料/评分标准/考前建议...
- linux系统 个人使用情况,个人使用Linux操作系统常要做的事
- 003-redis-命令-key操作,字符串操作
- 从零开始学keras之kaggle猫狗识别分类器
- Node.js nrm
- 查看eclipse中项目部署位置
- 微软 Exchange 服务器被滥用于内部邮件回复链攻击
- C# Json文件读取
- airtest web 录制滑块_AirTest学习四,录制Web测试脚本
- IC授权卡和复制卡的区别_DIY电脑——A卡和N卡有区别吗
- CleanMyMac4.11.1中文完整语言版本
- thinkphp5.0漏洞修复
- 职场菜鸟捕食指北【初入职场篇】
- 整流-1.输入电压角度计算
- cmake导入so库_CMAKE使用链接第三方SO库
- Java jQuery_2
- linux输入法搜狗 修复,搜狗输入法自带修复功能,可以解决无法打字的问题
- 前端学习笔记一:HTML(1)预备知识及一个简单的网页