用pygame_menu的十行代码给你的pygame添加一个狂拽炫酷炸的游戏菜单

简介

通常进入游戏前都会有一个游戏菜单,选择游戏难度、查看帮助、选择模式等等,但是pygame并没有提供这个功能,于是只能凭借互联网的智慧和EasyX的经验:用pygame“绘制”出一个游戏菜单。

菜单特征

比如贪吃蛇的菜单:查看游戏按键、输入用户名、选择难度、继续游戏、退出游戏等等

  • 响应式:鼠标选中或者键盘选择有高亮处理
    实现起来还是比较简单的,放几张图,监听鼠标和键盘事件,然后把选中项的图切换为处理好之后高光处理的图片,如果是文字就加粗变色。实现起来并不困难,就是会使代码量多了一丢丢。
    但这样也会有缺点:不能输入文字

pygame_menu

人生苦短,我选pygame_menu,只需要短短几行代码便可以实现按钮、输入、高亮等等Nb的菜单操作

优点

界面优美,功能强大

缺点

不能输入中文,解决办法面向互联网吧。

效果

在这里插入图片描述
在这里插入图片描述

代码

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
'''
@Desc    :  pygame菜单demo
'''

import pygame
import pygame_menu

pygame.init()
surface = pygame.display.set_mode((600, 400))


def set_difficulty(value, difficulty):
    pass


def start_the_game():
    pass


menu = pygame_menu.Menu(300,
                        400,
                        'Welcome',
                        theme=pygame_menu.themes.THEME_BLUE)

menu.add_text_input('Name :', default='John Doe')
menu.add_selector('Difficulty :', [('Hard', 1), ('Easy', 2)],
                  onchange=set_difficulty)
menu.add_button('Play', start_the_game)
menu.add_button('Quit', pygame_menu.events.EXIT)
menu.mainloop(surface)

致谢

感谢pygame_menu的17位开发人员
ppizarror/pygame-menu

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值