Premium Only Content

Pygame tutorial | Learn to code with python | Animations and Tile mapping
In this tutorial, we will be walking through some animation ideas and functions that can help you better understand how to place things on the screen with Pygame in Python.
Got an error? Compare your code below. Angle brackets aren't allow in description so I will replace them with "less than" and "greater than"
main.py code:
import math
import pygame
win_width = 800
win_height = 600
FPS = 60
tilesize = 32
speed = 32
def get_sprite(sheet, x, y, w, h):
sprite = pygame.Surface([w, h])
sprite.blit(sheet, (0, 0), (x, y, w, h))
sprite.set_colorkey('white')
return sprite
animation_list = [
[0, 0],
[32, 0],
[64, 0],
[96, 0],
[128, 0],
[0, 32],
[32, 32],
[64, 32],
[96, 32],
[128, 32],
]
def main():
pygame.init()
screen = pygame.display.set_mode((win_width, win_height), pygame.SCALED)
pygame.display.set_caption('Animation')
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((100, 100, 100))
screen.blit(background, (0, 0))
clock = pygame.time.Clock()
spritesheet = pygame.image.load('numbers.png').convert()
animation_loop = 0
pic_x = 0
pic_y = 0
running = True
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
pic_y -= speed
elif event.key == pygame.K_DOWN:
pic_y += speed
elif event.key == pygame.K_LEFT:
pic_x -= speed
elif event.key == pygame.K_RIGHT:
pic_x += speed
if animation_loop "less than" 9:
pic = get_sprite(spritesheet, animation_list[math.floor(animation_loop)][0], animation_list[math.floor(animation_loop)][1], tilesize, tilesize)
animation_loop += 1
else:
pic = get_sprite(spritesheet, animation_list[math.floor(animation_loop)][0], animation_list[math.floor(animation_loop)][1], tilesize, tilesize)
animation_loop = 0
max_x = win_width / tilesize
max_y = win_height / tilesize
if pic_y "less than" win_height:
if pic_x "less than" win_width:
pic_x += speed
else:
pic_y += speed
pic_x = 0
else:
pic_x = 0
pic_y = 0
# screen.blit(background, (0, 0))
screen.blit(pic, (pic_x, pic_y))
pygame.display.flip()
if __name__ == '__main__':
main()
#python #pygame #animation
-
LIVE
Matt Kohrs
9 hours agoGov'nt Shutdown: Stocks Whipsaw, Bitcoin Pops & Gold Hits Record || Live Trading
556 watching -
LIVE
Wendy Bell Radio
4 hours agoThe Schumer Shutdown
6,617 watching -
LIVE
LFA TV
10 hours agoDEVOTION & BREAKING NEWS! | WEDNESDAY 10/1/25
5,634 watching -
LIVE
Crypto Power Hour
1 hour agoWTH Is Peer To Peer CryptoCurrency Trading?
196 watching -
1:11:31
JULIE GREEN MINISTRIES
2 hours agoLIVE WITH JULIE
40.5K136 -
35:39
Producer Michael
16 hours agoROLLS-ROYCE SPECTRE TEST DRIVE GOES WRONG!
32.5K4 -
15:42
Nicholas Bowling
15 hours ago $1.79 earnedCharlie’s MURDER Sparks COLLEGE STUDENTS to Boldly Preach the Gospel!
8.88K17 -
40:10
Uncommon Sense In Current Times
18 hours ago $1.52 earnedDeconstruction of Christianity | Tim Barnett on Truth, Faith & the Crisis in Today’s Church
22K2 -
LIVE
Total Horse Channel
12 hours ago2025 Quarter Horse Congress * Celeste Center * Wednesday October 1st
91 watching -
LIVE
The Bubba Army
23 hours agoGOVERNMENT SHUTDOWN! - Bubba the Love Sponge® Show | 10/01/25
1,578 watching