Time for action – creating a simple game

It's important to notice the so-called main game loop, where all the action happens, and the usage of the Font module to render text. In this program, we will manipulate a Pygame Surface object that is used for drawing, and we will handle a quit event.

  1. First, import the required Pygame modules. If Pygame is installed properly, we should get no errors, otherwise please return to the installation Time for action:
    import pygame, sys
    from pygame.locals import *
  2. Initialize Pygame, create a display of 400 by 300 pixels, and set the window title to Hello world!:
    pygame.init()
    screen = pygame.display.set_mode((400, 300))
    
    pygame.display.set_caption('Hello World!')
  3. Games usually have a game loop, which runs forever until, for instance, a quit event occurs. In this example, only set a label with the text Hello world! at coordinates (100, 100). The text has font size 19 and a red color:
    while True: 
       sysFont = pygame.font.SysFont("None", 19)
       rendered = sysFont.render('Hello World', 0, (255, 100, 100))
       screen.blit(rendered, (100, 100))
    
       for event in pygame.event.get():
          if event.type == QUIT:
             pygame.quit()
             sys.exit()
    
       pygame.display.update()

    We get the following screenshot as an end result:

    Time for action – creating a simple game

    Following is the complete code for the Hello World! example:

    import pygame, sys
    from pygame.locals import *
    
    pygame.init()
    screen = pygame.display.set_mode((400, 300))
    
    pygame.display.set_caption('Hello World!')
    
    while True: 
       sysFont = pygame.font.SysFont("None", 19)
       rendered = sysFont.render('Hello World', 0, (255, 100, 100))
       screen.blit(rendered, (100, 100))
    
       for event in pygame.event.get():
          if event.type == QUIT:
             pygame.quit()
             sys.exit()
    
       pygame.display.update()

What just happened?

It may not seem like much, but we learned a lot in this section. The functions that passed the review are summarized in the following table:

Function

Description

pygame.init()

This function performs initialization and you must call it before calling other Pygame functions.

pygame.display.set_mode((400, 300))

This function creates a so-called Surface object to draw on. We give this function a tuple representing the dimensions of the surface.

pygame.display.set_caption('Hello World!')

This function sets the window title to a specified string value.

pygame.font.SysFont("None", 19)

This function creates a system font from a comma-separated list of fonts (in this case none) and an integer font size parameter.

sysFont.render('Hello World', 0, (255, 100, 100))

This function draws text on a Surface. The last parameter is a tuple representing the RGB values of a color.

screen.blit(rendered, (100, 100))

This function draws on a Surface.

pygame.event.get()

This function gets a list of Event objects. Events represent a special occurrence in the system, such as a user quitting the game.

pygame.quit()

This function cleans up the resources used by Pygame. Call this function before exiting the game.

pygame.display.update()

This function refreshes the surface.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset