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

简介

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

菜单特征

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

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

pygame_menu

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

优点

界面优美,功能强大

缺点

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

效果

用pygame_menu的十行代码给你的pygame添加一个狂拽炫酷炸的游戏菜单_第1张图片
用pygame_menu的十行代码给你的pygame添加一个狂拽炫酷炸的游戏菜单_第2张图片

代码

#!/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

你可能感兴趣的:(Python,#,pygame,pygame,python,游戏)