我有这个功能,玩家可以输入他的名字,但我想要每个字母
在他打字时出现在屏幕上。我的职责是:
def input_player_name():
player_name_screen = True
name = ""
win.blit(player_name_bg, (0, 0))
while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print(name)
player_name_screen = False
else:
name += event.unicode
pygame.display.update()
clock.tick(fps)
如果我在名字后面写上“print(name)”+=事件.unicode`,每件事
出现在控制台中。我一定要用这种东西吗
textsurface = game_font.render(str(name), False, (255, 255, 255))
win.blit(textsurface, (0, 0))
and make it update each time something new goes into name
? Thanks for your
help
You can either use pygame.font
or pygame.freetype
. In the
following I use pygame.font
.
Waht you have to do is to generate a font
html" target="_blank">object and render the text to a
pygame.Surface
(name_surf
). This surface has to be blit
to the window continuously in the
loop. When the name changes, the the surface has to be recreated:
import pygame
import pygame.font
pygame.init()
win = pygame.display.set_mode((500, 200))
clock = pygame.time.Clock()
fps = 60
def input_player_name():
# create font and text surface
font = pygame.font.SysFont(None, 100)
name_surf = font.render('', True, (255, 0, 0))
player_name_screen = True
name = ""
while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
player_name_screen = False
else:
name += event.unicode
# recreate text surface
name_surf = font.render(name, True, (255, 0, 0))
win.blit(player_name_bg, (0, 0))
# blit text to window
win.blit(name_surf, (50, 50))
pygame.display.update()
clock.tick(fps)
input_player_name()
我尝试过在键盘出现时向上移动屏幕。我成功地做到了,但我需要知道如何仅在单击底部时滚动视图,而不是顶部,因为键盘只是触摸下面的。 应用程序是这样的: 我们的观点
问题内容: 我尝试使搜索栏快速显示,但是当我按下搜索栏时,无法在屏幕上关闭键盘。当我尝试使用textfield时,此代码可以很好地工作。 当我按出文本框然后键盘消失时,它可以工作。我想用我的搜索栏来做类似的事情,因为当我使用搜索栏并使用像文本字段一样的方式时,它根本不起作用。任何参考或代码对我来说都是非常有用的。 问题答案: 试试这个 : 如果您不是通过编程方式创建的,而是从库中拖动了一个搜索栏,
null 但这三条不同的道路对我都不起作用。对于路径,以“无法找到指定的路径”失败。对于和路径,会出现“无法启动屏幕键盘”错误对话框。 我在这里找到了一个可能的解决办法,它比我想要的要复杂一点(二阳的帖子):http://social.msdn.microsoft.com/forums/en-us/netfx64bit/thread/10ebc62f-e6d7-4072-9fd1-ea3784a0
所以我有一个带有文本字段的视图,但是文本字段在底部。当我单击键盘时,它会弹出并覆盖文本字段,这是我的问题。我想知道当键盘出现时是否有可能将视图的其余部分向上推?
问题内容: 我是Java的新手,正在尝试学习Maps的概念。 我想出了下面的代码。但是,我想同时打印“键字符串”和“值字符串”。 我只能找到只打印“键字符串”的方法。 问题答案: 有多种方法可以实现此目的。这是三个。 输出量
问题内容: 我看到很多这样的旧代码: 我看不到使用intern()的任何原因,因为在Javadoc中可以看到:“所有文字字符串和字符串值常量表达式都被插入。” 是否有此意图,也许是在该语言的过去版本中? 问题答案: 这是一种确保实际上不是常数的技术。 当Java编译器看到对最终静态基元或String的引用时,它将该常量的实际值插入使用它的类中。如果您随后在定义类中更改常量值,但不重新编译using