上传文件至 ''
This commit is contained in:
parent
bbd67da050
commit
497e6f6b51
|
@ -0,0 +1,56 @@
|
|||
import pygame
|
||||
|
||||
class PlayernameInputbox:
|
||||
def __init__(self, screen):
|
||||
"""初始化文本框的属性"""
|
||||
self.screen = screen
|
||||
self.screen_rect = screen.get_rect()
|
||||
|
||||
# 设置按钮的尺寸和其他属性
|
||||
self.width = 200
|
||||
self.height = 50
|
||||
self.box_color = (255, 255, 255)
|
||||
self.text_color = (20, 20, 20)
|
||||
self.font = pygame.font.SysFont("Calibri, Arial", 38)
|
||||
|
||||
# 创建按钮的rect对象,并使其在屏幕上居中
|
||||
self.rect = pygame.Rect(0, 0, self.width, self.height)
|
||||
self.rect.center = self.screen_rect.center
|
||||
self.rect.y += 40
|
||||
|
||||
self.text = "Your Name"
|
||||
self.login = False
|
||||
|
||||
|
||||
def draw_inputbox(self):
|
||||
"""将输入文本渲染为图像,并显示"""
|
||||
self.text_image = self.font.render(self.text, True, self.text_color, self.box_color)
|
||||
self.text_image_rect = self.text_image.get_rect()
|
||||
self.text_image_rect.center = self.rect.center
|
||||
|
||||
self.screen.fill(self.box_color, self.rect)
|
||||
self.screen.blit(self.text_image, self.text_image_rect)
|
||||
|
||||
|
||||
def key_down(self, event):
|
||||
"""输入新文本"""
|
||||
unicode = event.unicode
|
||||
key = event.key
|
||||
|
||||
if key == 8:
|
||||
# 退位键
|
||||
self.text = self.text[:-1]
|
||||
return
|
||||
if key == 301:
|
||||
# 切换大小写键
|
||||
return
|
||||
if key == 13:
|
||||
# 回车键
|
||||
return
|
||||
|
||||
if unicode != "":
|
||||
char = unicode
|
||||
else:
|
||||
char = chr(key)
|
||||
|
||||
self.text += char
|
Loading…
Reference in New Issue