Pygame小工具:模拟键盘 - 虚拟键盘(Keyboard)

宅在家里,沉迷于pygame编程,这篇文章给大家分享一下基于pygame实现一些简单的小功能,这些功能可以很好的嵌入在游戏中增加游戏的交互性。

这篇文章主要讲述用pygame实现虚拟键盘的方式。

目录

1. 效果 & 功能

2. 代码

2.1. 按钮

2.2. 处理输入

2.3. 显示 

2.3. 运行

3. 结语


1. 效果 & 功能

  • 主要实现功能有:
    • 输入0-9a-z间的字符
    • ‘del’进行删除
    • ‘end’结束输入

demo演示

2. 代码

首先引用基础库和声明一些常量方便之后更改。

SCREEN_SIZE = 1000, 500 # 屏幕大小

# 一些常用颜色
WHITE = 255, 255, 255
GRAY = 190, 190, 190
BLACK = 0, 0, 0
LINEN = 250, 240, 230
DARKSLATEGRAY = 47, 79, 79

PAD = 10 # 各物块,按钮之间的 padding
FPS = 60 # pygame显示的fps

DISPLAY_FONT = (None, 40) # 显示打印文字的字体
DISPLAY_BG_COLOR = LINEN  # 显示打印文字区域的背景色
DISPLAY_TEXT_COLOR = DARKSLATEGRAY # 打印文字的颜色

KEYBOARD_FONT = (None, 30) # 按钮字体
KEYBOARD_BUTTON_SIZE = 40, 40 # 按钮大小
KEYBOARD_BG_COLOR = WHITE # 按钮背景色
KEYBOARD_BG_COLOR_CLICKED = GRAY # 按钮被选中时的背景色
KEYBOARD_TEXT_COLOR = BLACK # 按钮文字颜色

 

2.1. 按钮

首先时虚拟按钮的实现,我们在这里将每一个按钮都当作一个pygame.sprite.Sprite类,具体代码如下:

class KeyboardButton(pygame.sprite.Sprite):
    def __init__(self, **kwargs):
        # 创建按钮时需要有多个参数
        # size :按钮的大小
        # value :按钮的显示值
        # id : 按钮的id
        pygame.sprite.Sprite.__init__(self)
        self.size = kwargs.get('size')
        self.value = kwargs.get('value')
        if kwargs.get('id'):
            self.id &
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值