Pygame Creating Sprites (original) (raw)

Last Updated : 15 Jan, 2026

Sprites are game objects representing characters, obstacles, or visual elements, with properties like height, width, color, position and methods to move, jump, or interact. This article shows how to create, position and display sprites in Pygame.

Prerequisites

Before running this project, make sure the required tools are available on your system.

If Pygame is not installed, install it using the following command:

pip install pygame

Step by Step Implementation

Step 1: Import Libraries and Define Global Variables

We start by importing pygame and defining global variables for screen size and colors.

Python `

import pygame import random

COLOR = (255, 100, 98)
SURFACE_COLOR = (167, 255, 100) WIDTH = 500 HEIGHT = 500

`

Step 2: Create a Sprite Class

A sprite class defines properties like color, dimensions and position. The __init__() method initializes the sprite.

Python `

class Sprite(pygame.sprite.Sprite): def init(self, color, height, width): super().init()

    self.image = pygame.Surface([width, height])
    self.image.fill(SURFACE_COLOR)
    self.image.set_colorkey(COLOR)

    pygame.draw.rect(self.image, color, pygame.Rect(0, 0, width, height))

    self.rect = self.image.get_rect()

`

**Explanation

Step 3: Initialize Pygame and Create the Screen

Python `

pygame.init()

RED = (255, 0, 0)
size = (WIDTH, HEIGHT) screen = pygame.display.set_mode(size) pygame.display.set_caption("Creating Sprite")

`

Step 4: Create a Sprite Object

We can now create objects from the Sprite class. Multiple objects can be created using the same class.

Python `

all_sprites_list = pygame.sprite.Group()

object_ = Sprite(RED, 20, 30) object_.rect.x = 200
object_.rect.y = 300

all_sprites_list.add(object_)

`

**Explanation:

Step 5: Display the Sprite on the Screen

We use a game loop to display the sprite and update the screen.

Python `

exit_game = True clock = pygame.time.Clock()

while exit_game: for event in pygame.event.get(): if event.type == pygame.QUIT: exit_game = False

all_sprites_list.update()  
screen.fill(SURFACE_COLOR)  
all_sprites_list.draw(screen) 
pygame.display.flip()       
clock.tick(60)              

pygame.quit()

`

**Explanation:

Output

The output shows a red sprite displayed on the Pygame window, confirming that the sprite was created and rendered successfully.

SpriteOutput

Output