微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pygame 菜单骰子滚动 GUI坚持在屏幕上显示返回的整数值?

如何解决Pygame 菜单骰子滚动 GUI坚持在屏幕上显示返回的整数值?

我最近为各种类型的 D&D 骰子编写了一个随机掷骰子的命令行程序,接下来我想把它变成一个基本的 GUI。

我已经使用 Pygame-Menu 库制作了下面的图像,并且我还有一些函数可以为每个按钮返回一个随机骰子。

但是我如何获得显示在屏幕表面上的骰子结果?
我尝试阅读图书馆文档,但没有看到我理解的有关此主题的任何内容
我还尝试将文本矩形表面 blit 到屏幕上,但似乎也不起作用。

有人熟悉这个特定的 Pygame 库可以提供帮助吗?

Pygame-Menu "Dungeon Dice" GUI

import random
import pygame
import pygame_menu

screen_width = 320
screen_height = 520

done = False
White = (255,255,255)
Grey = (179,179,179)
Black = (17,17,17)
Green = (30,215,96)


pygame.init()
pygame.display.set_caption('Dungeon Dice')
FPS = 60
screen = pygame.display.set_mode((screen_width,screen_height))
width = screen.get_width()
height = screen.get_height()
rollsound = pygame.mixer.sound("roll.mp3")
mouse = pygame.mouse.get_pos()
font = pygame.font.SysFont('Calibri',48)
screen.fill(Black)


def rolld20():
    d20output = random.randint(1,20)
    pygame.mixer.sound.play(rollsound)
    return(d20output)

def rolld12():
    d12output = random.randint(1,12)
    pygame.mixer.sound.play(rollsound)
    return(d12output)

def rolld10():
    d10output = random.randint(1,10)
    pygame.mixer.sound.play(rollsound)
    return(d10output)

def rolld8():
    d8output = random.randint(1,8)
    pygame.mixer.sound.play(rollsound)
    return(d8output)

def rolld6():
    d6output = random.randint(1,6)
    pygame.mixer.sound.play(rollsound)
    return(d6output)

def rolld4():
    d4output = random.randint(1,4)
    pygame.mixer.sound.play(rollsound)
    return(d4output)

def rolld100():
    d100output = random.randint(1,100)
    pygame.mixer.sound.play(rollsound)
    return(d100output)

menu = pygame_menu.Menu('Dungeon Dice',screen_width,screen_height,theme=pygame_menu.themes.THEME_DEFAULT)

menu.add.button('D4',rolld4)
menu.add.button('D6',rolld6)
menu.add.button('D8',rolld8)
menu.add.button('D10',rolld10)
menu.add.button('D12',rolld12)
menu.add.button('D20',rolld20)
menu.add.button('D100',rolld100)
menu.add.button('Quit',pygame_menu.events.EXIT)

menu.mainloop(screen)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。