Pygame如何显示变量?

时间:2015-02-08 18:32:43

标签: python variables text pygame

我正在制作一个游戏,你点击硬币并获得硬币,我试图显示你得到的硬币数量,但它没有显示。

代码:

text = basicFont.render(str(coins), True, WHITE, BLACK)
textRect = text.get_rect()
textRect.centerx = windowSurface.get_rect().centerx
textRect.centery = windowSurface.get_rect().centery

2 个答案:

答案 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)

我希望这可以帮到你!