问题描述
我最近为各种类型的 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 (将#修改为@)