Pages

joi, 15 august 2013

PyGame : First interface - part 4.

This is another tutorial about pygame.
The main goal of this tutorial is to make one box with some text for your application or game.
First, I import the pygame module and I set two colors: black and green:
import pygame
import pygame.font
import pygame.event
import pygame.draw
import string
from pygame.locals import *
black=(0,0,0)
green=(0,255,0)
Tne next step is to make a function to create the display box.
def display_box(screen,mess):
        fontobject = pygame.font.Font(None,18)
        pygame.draw.rect(screen,black,((screen.get_width() / 2) - 100,
                (screen.get_height() / 2) - 10,200,20), 0)
        pygame.draw.rect(screen,green,((screen.get_width() / 2) - 101,
                (screen.get_height() / 2) - 11,200,20), 1)
        if len(mess) != 0:
                screen.blit(fontobject.render(mess, 1, (25,255,25)),
                ((screen.get_width() / 2) - 100, (screen.get_height() / 2) - 9))
        pygame.display.flip()
Let's start the pygame window and display the box.
if __name__ == '__main__':
        pygame.init()
        pygame.display.set_caption("Hello world")
        screen = pygame.display.set_mode((320,240))
        pygame.font.init()
        mess = []
        while 1:
                display_box(screen,"Hello world text")
                pygame.display.update()
                pygame.time.delay(10)
                for event in pygame.event.get():
                        if event.type in (pygame.QUIT,pygame.KEYDOWN,pygame.MOUSEBUTTONDOWN):
                                raise SystemExit
The result of this source of code can be seen in the next image.

You can also change this source of code to make editbox or other GUI elements.