如何解决Pygame 菜单骰子滚动 GUI坚持在屏幕上显示返回的整数值?
我最近为各种类型的 D&D 骰子编写了一个随机掷骰子的命令行程序,接下来我想把它变成一个基本的 GUI。
我已经使用 Pygame-Menu 库制作了下面的图像,并且我还有一些函数可以为每个按钮返回一个随机骰子。
但是我如何获得显示在屏幕表面上的骰子结果?
我尝试阅读图书馆文档,但没有看到我理解的有关此主题的任何内容。
我还尝试将文本矩形表面 blit 到屏幕上,但似乎也不起作用。
有人熟悉这个特定的 Pygame 库可以提供帮助吗?
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 举报,一经查实,本站将立刻删除。