宅在家里,沉迷于pygame编程,这篇文章给大家分享一下基于pygame实现一些简单的小功能,这些功能可以很好的嵌入在游戏中增加游戏的交互性。
这篇文章主要讲述用pygame实现虚拟键盘的方式。
目录
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 &