Как отобразить текст? - PullRequest
       15

Как отобразить текст?

2 голосов
/ 13 марта 2012

Эй, я хочу, чтобы Pygame распечатывал текст на экране, я пытался сделать это, но у меня есть некоторые странные ошибки с ним, и я не могу понять, что не так. Вот мой код

    def write(text):
        for j in range(h):

            for j in range(w):

                for char in text:

                    if char.lower() == "a":

                        screen.blit(a, (k, l))
                    self.k += 10

                self.l += 11
    write("aaaaaaaa")

Буду признателен, если кто-нибудь сможет указать на мои ошибки и / или предложить правильный способ сделать это.

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Вот один из способов:

import pygame, pygame.font, pygame.event, pygame.draw, string
from pygame.locals import *

def display_box(screen, message):
    fontobject=pygame.font.SysFont('Arial', 18)
    if len(message) != 0:
        screen.blit(fontobject.render(message, 1, (255, 255, 255)),
                ((screen.get_width() / 2) - 100, (screen.get_height() / 2) - 10))
    pygame.display.flip()

def get_key():
    while True:
        event = pygame.event.poll()
        if event.type == KEYDOWN:
            return event.key

if __name__ == "__main__":
    # Graphics initialization
    full_screen = False    
    window_size = (1024, 768)
    pygame.init()      
    if full_screen:
        surf = pygame.display.set_mode(window_size, HWSURFACE | FULLSCREEN | DOUBLEBUF)
    else:
        surf = pygame.display.set_mode(window_size)

    # Create a display box
    while True:
        display_box(surf, "hello world")
        inkey = get_key()
        if inkey == K_RETURN or inkey == K_KP_ENTER:
            break
        pygame.display.flip()
1 голос
/ 13 марта 2012

Взгляните на этот образец на Очень простая игра в понг :

font = pygame.font.SysFont("calibri",40)
...
score1 = font.render(str(bar1_score), True,(255,255,255))
...
screen.blit(score1,(250.,210.))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...