Welcome to the second chapter of the Rock Sweeper project, a game which creates with Pygame. In this article we will create a World module which will later be used to manage game entities such as spaceship and rock as well as render the background image of the game.
We will use NetBeans IDE 8.1 to create this game, first open up your NetBeans IDE if you already have one or else you can refer to my previous article on how to install the NetBeans IDE on your computer. Start a new project and call it Rock Sweeper.
Create an empty module under the same folder as the existing module and named it World. Below is the script for the World module which includes those use to blit the background.
from pygame.locals import * class World(object): def __init__(self, maintile, background_coordinate, screen_size): #spritesheet self.spritesheet = maintile #the rectangle object uses in clipping the background area self.clip_rect = Rect(background_coordinate, screen_size) self.spritesheet.set_clip(self.clip_rect) # clip a portion of the spritesheet with that rectangle object self.background = self.spritesheet.subsurface(self.spritesheet.get_clip()) #create the background surface def render(self, surface): surface.blit(self.background, (0,0))
In the main module we will call the World module to render the background within the while loop.
#!/usr/bin/env python import pygame from pygame.locals import * from sys import exit from world import World maintile = 'maintile.png' #spritesheet file SCREEN_SIZE = (550, 550) BACKGROUND_COORDINATE = (0, 32) pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE, 0, 32) pygame.display.set_caption("Rock Sweeper") spritesheet = pygame.image.load(maintile).convert_alpha() #spritesheet surface object pygame.display.set_icon(spritesheet) #use the entire spritesheet surface as the window icon world = World(spritesheet, BACKGROUND_COORDINATE, SCREEN_SIZE) while True: for event in pygame.event.get(): if event.type == QUIT: exit() world.render(screen) #render the background pygame.display.update()
If you run the main module above then you will see the below outcome.
The next chapter we will create game entities such as spaceship and rock so make sure you continue reading the tutorial!