我正在制作一个游戏,你点击硬币并获得硬币,我试图显示你得到的硬币数量,但它没有显示。
代码:
text = basicFont.render(str(coins), True, WHITE, BLACK)
textRect = text.get_rect()
textRect.centerx = windowSurface.get_rect().centerx
textRect.centery = windowSurface.get_rect().centery
答案 0 :(得分:1)
制作完对象后,使用windowSurface.blit(text, (x1, y1)
将其绘制到屏幕上。然后拨打pygame.display.flip()
以显示它。
如:
import pygame, sys
from pygame.locals import *
pygame.init()
windowSurface = pygame.display.set_mode()
myfont = pygame.font.SysFont("monospace", 15)
while True
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
# render text
label = myfont.render("Some text!", 1, (255,255,0))
windowSurface.blit(label, (100, 100))
pygame.display.flip()
答案 1 :(得分:0)
你可以使用类似的东西:
score = 0
score_font = pygame.font.Font(None, 50)
score_surf = score_font.render(str(score), 1, (0, 0, 0))
score_pos = [10, 10]
score
这里是变量,可以通过类中的函数进行更改。 score_font
将确定文本的字体和大小。score_surf
将用于将文本渲染到曲面上。它需要带有必要字符串的变量,数字1(我不太清楚为什么),以及文本的颜色。 score_pos
将用于将文本blit到给定的特定坐标上。以下是将文本显示在屏幕上的方式:
screen.blit(score_surf, score_pos)
我希望这可以帮到你!