vineri, 26 mai 2017

PyGame - first interface - part 7 .

Today I will start with another feature : add text from keyboard.
The interface need to be fill with text and a good way is to read the keyboard.
My example using this feature and print the text into one row and let you to erase chars when you typing.
First you need to know I used python version 2.7.13 and the last pygame version 1.9.2.0a from here.
I used also the PyCharm version Community Edition 2017.1.3 .
Let see the souce code for this example:
import pygame
from pygame.locals import *

def name():
    pygame.init()
    screen = pygame.display.set_mode((480, 360))
    name = ""
    font = pygame.font.Font(None, 50)
    while True:
        for evt in pygame.event.get():
            if evt.type == KEYDOWN:
                if evt.unicode.isalpha():
                    name += evt.unicode
                elif evt.key == K_BACKSPACE:
                    name = name[:-1]
                elif evt.key == K_SPACE:
                    name = name+str(" ")
            elif evt.type == QUIT:
                return
        screen.fill((0, 0, 0))
        block = font.render(name, True, (255, 255, 255))
        rect = block.get_rect()
        rect.center = screen.get_rect().center
        screen.blit(block, rect)
        pygame.display.flip()

if __name__ == "__main__":
    name()
The result of this python script can be see into image bellow: