我正在使用Pygame,并想出了如何在屏幕上显示文字。但是我怎样才能让它适用于变量,所以它不会显示“Hello”,而是显示我的变量。例如,假设我有一个变量,我想在显示面板上显示它/对它做出的任何更改。因此,如果我的变量是1,并且如果添加了1,我想显示更改的变量。
#Dice random number generation
diceRoll = random.randrange(0, 5)
#Text through GUI
myFont = pygame.font.SysFont("Times New Roman", 18)
randNumLabel = myFont.render("You have rolled:", 1, black)
diceDisplay = myFont.render(diceRoll, 1, black)
screen.blit(randNumLabel, (520, 20))
screen.blit(diceDisplay, (520, 30))
pygame.display.flip()
答案 0 :(得分:2)
你的问题究竟在哪里?您的代码不会在任何地方显示“Hello”。
我看到的唯一问题是Font.render
的第一个参数必须是str
,并且您没有任何类型的循环,因此窗口会立即关闭。
但这很容易解决:
import pygame
import random
pygame.init()
black=(0,0,0)
screen = pygame.display.set_mode((800,600))
screen.fill((255,255,255))
#Dice random number generation
diceRoll = random.randrange(0, 5)
#Text through GUI
myFont = pygame.font.SysFont("Times New Roman", 18)
randNumLabel = myFont.render("You have rolled:", 1, black)
### pass a string to myFont.render
diceDisplay = myFont.render(str(diceRoll), 1, black)
screen.blit(randNumLabel, (520, 20))
screen.blit(diceDisplay, (520, 30))
### main loop
run = True
while run:
for e in pygame.event.get():
if e.type == pygame.QUIT:
run = False
pygame.display.flip()